TSTP Solution File: ALG268^1 by Vampire---4.8

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Vampire---4.8
% Problem  : ALG268^1 : TPTP v8.1.2. Bugfixed v5.2.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : vampire --input_syntax tptp --proof tptp --output_axiom_names on --mode portfolio --schedule file --schedule_file /export/starexec/sandbox/solver/bin/quickGreedyProduceRating_steal_pow3.txt --cores 8 -m 12000 -t %d %s

% Computer : n026.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Sun May  5 04:13:30 EDT 2024

% Result   : Theorem 239.60s 31.06s
% Output   : Refutation 239.60s
% Verified : 
% SZS Type : ERROR: Analysing output (MakeTreeStats ran out of CPU time)

% Comments : 
%------------------------------------------------------------------------------
thf(type_def_5,type,
    term: $tType ).

thf(type_def_7,type,
    subst: $tType ).

thf(func_def_0,type,
    term: $tType ).

thf(func_def_1,type,
    subst: $tType ).

thf(func_def_2,type,
    one: term ).

thf(func_def_3,type,
    ap: term > term > term ).

thf(func_def_4,type,
    lam: term > term ).

thf(func_def_5,type,
    sub: term > subst > term ).

thf(func_def_6,type,
    id: subst ).

thf(func_def_7,type,
    sh: subst ).

thf(func_def_8,type,
    push: term > subst > subst ).

thf(func_def_9,type,
    comp: subst > subst > subst ).

thf(func_def_10,type,
    var: term > $o ).

thf(func_def_18,type,
    hoasap: subst > term > subst > term > term ).

thf(func_def_73,type,
    hoaslam: subst > ( subst > term > term ) > term ).

thf(func_def_86,type,
    hoasinduction_p_and_p_prime: ( subst > term > subst > $o ) > ( term > $o ) > $o ).

thf(func_def_107,type,
    hoasvar: subst > term > subst > $o ).

thf(func_def_121,type,
    pushprop_p_and_p_prime: term > subst > ( term > $o ) > ( term > $o ) > $o ).

thf(func_def_142,type,
    ph1: 
      !>[X0: $tType] : X0 ).

thf(func_def_148,type,
    sK2: subst > term > subst > $o ).

thf(func_def_149,type,
    sK3: term ).

thf(func_def_150,type,
    sK4: ( subst > term > term ) > term ).

thf(func_def_151,type,
    sK5: ( subst > term > term ) > subst ).

thf(func_def_152,type,
    sK6: term ).

thf(func_def_153,type,
    sK7: subst ).

thf(func_def_154,type,
    sK8: subst ).

thf(func_def_155,type,
    sK9: term ).

thf(func_def_156,type,
    sK10: subst ).

thf(func_def_157,type,
    sK11: subst ).

thf(f11877,plain,
    $false,
    inference(trivial_inequality_removal,[],[f11876]) ).

thf(f11876,plain,
    $true = $false,
    inference(boolean_simplification,[],[f11875]) ).

thf(f11875,plain,
    ( $false
    = ( ( sub @ sK3 @ ( comp @ ( push @ sK9 @ sK10 ) @ sK11 ) )
      = ( sub @ sK3 @ ( comp @ ( push @ sK9 @ sK10 ) @ sK11 ) ) ) ),
    inference(forward_demodulation,[],[f11874,f983]) ).

thf(f983,plain,
    ! [X2: subst,X3: subst,X1: term] :
      ( ( push @ ( sub @ X1 @ X2 ) @ ( comp @ X3 @ X2 ) )
      = ( comp @ ( push @ X1 @ X3 ) @ X2 ) ),
    inference(equality_proxy_clausification,[],[f977]) ).

thf(f977,plain,
    ! [X2: subst,X3: subst,X1: term] :
      ( $true
      = ( ( push @ ( sub @ X1 @ X2 ) @ ( comp @ X3 @ X2 ) )
        = ( comp @ ( push @ X1 @ X3 ) @ X2 ) ) ),
    inference(beta_eta_normalization,[],[f976]) ).

thf(f976,plain,
    ! [X2: subst,X3: subst,X1: term] :
      ( ( ^ [Y0: subst] :
            ( ( push @ ( sub @ X1 @ X2 ) @ ( comp @ Y0 @ X2 ) )
            = ( comp @ ( push @ X1 @ Y0 ) @ X2 ) )
        @ X3 )
      = $true ),
    inference(pi_clausification,[],[f971]) ).

thf(f971,plain,
    ! [X2: subst,X1: term] :
      ( $true
      = ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( push @ ( sub @ X1 @ X2 ) @ ( comp @ Y0 @ X2 ) )
            = ( comp @ ( push @ X1 @ Y0 ) @ X2 ) ) ) ),
    inference(beta_eta_normalization,[],[f970]) ).

thf(f970,plain,
    ! [X2: subst,X1: term] :
      ( ( ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( ( push @ ( sub @ X1 @ Y0 ) @ ( comp @ Y1 @ Y0 ) )
                = ( comp @ ( push @ X1 @ Y1 ) @ Y0 ) ) )
        @ X2 )
      = $true ),
    inference(pi_clausification,[],[f853]) ).

thf(f853,plain,
    ! [X1: term] :
      ( $true
      = ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( ( push @ ( sub @ X1 @ Y0 ) @ ( comp @ Y1 @ Y0 ) )
                = ( comp @ ( push @ X1 @ Y1 ) @ Y0 ) ) ) ) ),
    inference(beta_eta_normalization,[],[f852]) ).

thf(f852,plain,
    ! [X1: term] :
      ( ( ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                    = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) )
        @ X1 )
      = $true ),
    inference(pi_clausification,[],[f817]) ).

thf(f817,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                  = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f791]) ).

thf(f791,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                    = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( ( comp @ Y0 @ id )
              = Y0 ) )
       => ( ( id
            = ( push @ one @ sh ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                  = Y0 ) )
           => ( ( var @ one )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( ( var @ Y0 )
                     => ( var @ ( sub @ Y0 @ sh ) ) ) )
               => ( ( !! @ ( term > $o )
                    @ ^ [Y0: term > $o] :
                        ( ( Y0 @ one )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( Y0 @ Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( ( ap @ Y2 @ Y3 )
                                        = ( ap @ Y1 @ Y0 ) )
                                     => ( Y2 = Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( ( ap @ Y2 @ Y3 )
                                          = ( ap @ Y0 @ Y1 ) )
                                       => ( Y3 = Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( ( lam @ Y1 )
                                    = ( lam @ Y0 ) )
                                 => ( Y1 = Y0 ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( ( sub @ Y1 @ sh )
                                      = ( sub @ Y0 @ sh ) )
                                   => ( Y1 = Y0 ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( ap @ Y1 @ Y2 )
                                         != ( lam @ Y0 ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ~ ( var @ ( lam @ Y0 ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( Y0 @ Y1 ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( ( Y0 @ Y1 )
                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                           => ( !! @ term @ Y0 ) ) ) ) )
                                 => ( ( !! @ ( term > $o )
                                      @ ^ [Y0: term > $o] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                 => ( ( Y0 @ Y1 )
                                                   => ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                   => ( ( !! @ ( term > $o )
                                        @ ^ [Y0: term > $o] :
                                            ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( ( Y0 @ Y1 )
                                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                       => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                     => ( ( !! @ ( term > $o )
                                          @ ^ [Y0: term > $o] :
                                              ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( var @ Y1 )
                                                   => ( Y0 @ Y1 ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( ( Y0 @ Y1 )
                                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                 => ( !! @ term @ Y0 ) ) ) ) )
                                       => ( ( ( !! @ subst
                                              @ ^ [Y0: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                          = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                            & ( !! @ subst
                                              @ ^ [Y0: subst] :
                                                  ( ( comp @ Y0 @ id )
                                                  = Y0 ) ) )
                                         => ( ( !! @ subst
                                              @ ^ [Y0: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                          = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                  = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                               => ( Y2 = Y0 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                    = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                 => ( Y2 = Y1 ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > term )
                                                    @ ^ [Y0: subst > term > term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                      = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                       => ( !! @ ( subst > term > term )
                                                          @ ^ [Y1: subst > term > term] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                            = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                             => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                  = ( lam @ ( Y1 @ sh @ one ) ) )
                                                               => ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( Y1 @ Y2 @ Y3 )
                                                                          = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > term )
                                                      @ ^ [Y0: subst > term > term] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > term )
                                                        @ ^ [Y0: subst > term > term] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y0: term] :
                                                              ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                       => ( ( !! @ ( subst > term > subst > $o )
                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y4: term] :
                                                                                  ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                               => ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( ( var @ ( sub @ Y1 @ id ) )
                                                                         => ( Y0 @ id @ Y1 @ id ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( ( var @ Y1 )
                                                                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > subst > $o )
                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y4: term] :
                                                                                    ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                   => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                 => ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y4: term] :
                                                                                      ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( Y0 @ id @ Y1 @ id )
                                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                                 => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( Y0 @ id @ Y1 @ id )
                                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                                 => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                           => ( !! @ ( subst > term > subst > $o )
                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                   => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                 => ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y4: term] :
                                                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > term )
                                                                        @ ^ [Y1: subst > term > term] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                          = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                           => ( ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                             => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f788]) ).

thf(f788,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                      = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( ( comp @ Y0 @ id )
                = Y0 ) )
         => ( ( id
              = ( push @ one @ sh ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                    = Y0 ) )
             => ( ( var @ one )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( ( var @ Y0 )
                       => ( var @ ( sub @ Y0 @ sh ) ) ) )
                 => ( ( !! @ ( term > $o )
                      @ ^ [Y0: term > $o] :
                          ( ( Y0 @ one )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( Y0 @ Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( ( ap @ Y2 @ Y3 )
                                          = ( ap @ Y1 @ Y0 ) )
                                       => ( Y2 = Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ Y2 @ Y3 )
                                            = ( ap @ Y0 @ Y1 ) )
                                         => ( Y3 = Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( ( lam @ Y1 )
                                      = ( lam @ Y0 ) )
                                   => ( Y1 = Y0 ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( ( sub @ Y1 @ sh )
                                        = ( sub @ Y0 @ sh ) )
                                     => ( Y1 = Y0 ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( ap @ Y1 @ Y2 )
                                           != ( lam @ Y0 ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ~ ( var @ ( lam @ Y0 ) ) )
                                 => ( ( !! @ ( term > $o )
                                      @ ^ [Y0: term > $o] :
                                          ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( ( Y0 @ Y1 )
                                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( Y0 @ Y1 )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !! @ term @ Y0 ) ) ) ) )
                                   => ( ( !! @ ( term > $o )
                                        @ ^ [Y0: term > $o] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                   => ( ( Y0 @ Y1 )
                                                     => ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                     => ( ( !! @ ( term > $o )
                                          @ ^ [Y0: term > $o] :
                                              ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( ( Y0 @ Y1 )
                                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y2 )
                                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                         => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                       => ( ( !! @ ( term > $o )
                                            @ ^ [Y0: term > $o] :
                                                ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( var @ Y1 )
                                                     => ( Y0 @ Y1 ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y2 )
                                                           => ( ( Y0 @ Y1 )
                                                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y2 )
                                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                   => ( !! @ term @ Y0 ) ) ) ) )
                                         => ( ( ( !! @ subst
                                                @ ^ [Y0: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                            = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                              & ( !! @ subst
                                                @ ^ [Y0: subst] :
                                                    ( ( comp @ Y0 @ id )
                                                    = Y0 ) ) )
                                           => ( ( !! @ subst
                                                @ ^ [Y0: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                            = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                    = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                 => ( Y2 = Y0 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                      = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                   => ( Y2 = Y1 ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > term )
                                                      @ ^ [Y0: subst > term > term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                        = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                         => ( !! @ ( subst > term > term )
                                                            @ ^ [Y1: subst > term > term] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                              = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                               => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                    = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                 => ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( Y1 @ Y2 @ Y3 )
                                                                            = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > term )
                                                        @ ^ [Y0: subst > term > term] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                          = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                     != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > term )
                                                          @ ^ [Y0: subst > term > term] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y0: term] :
                                                                ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                         => ( ( !! @ ( subst > term > subst > $o )
                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y4: term] :
                                                                                    ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                   => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                 => ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( ( var @ ( sub @ Y1 @ id ) )
                                                                           => ( Y0 @ id @ Y1 @ id ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( ( var @ Y1 )
                                                                           => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > subst > $o )
                                                                @ ^ [Y0: subst > term > subst > $o] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y4: term] :
                                                                                      ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                     => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                   => ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y4: term] :
                                                                                        ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                       => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y0 @ id @ Y1 @ id )
                                                                                 => ( ( Y0 @ id @ Y2 @ id )
                                                                                   => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y0 @ id @ Y1 @ id )
                                                                                 => ( ( Y0 @ id @ Y2 @ id )
                                                                                   => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                             => ( !! @ ( subst > term > subst > $o )
                                                                @ ^ [Y0: subst > term > subst > $o] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                     => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                   => ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y4: term] :
                                                                                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                       => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                     => ( ( !! @ ( subst > term > term )
                                                                          @ ^ [Y1: subst > term > term] :
                                                                              ( ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                            = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                             => ( ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                               => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                                   => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                             => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f663,f667]) ).

thf(f667,plain,
    ( ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                  = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f663]) ).

thf(f663,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                    = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                      = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( ( comp @ Y0 @ id )
                = Y0 ) )
         => ( ( id
              = ( push @ one @ sh ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                    = Y0 ) )
             => ( ( var @ one )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( ( var @ Y0 )
                       => ( var @ ( sub @ Y0 @ sh ) ) ) )
                 => ( ( !! @ ( term > $o )
                      @ ^ [Y0: term > $o] :
                          ( ( Y0 @ one )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( Y0 @ Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( ( ap @ Y2 @ Y3 )
                                          = ( ap @ Y1 @ Y0 ) )
                                       => ( Y2 = Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ Y2 @ Y3 )
                                            = ( ap @ Y0 @ Y1 ) )
                                         => ( Y3 = Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( ( lam @ Y1 )
                                      = ( lam @ Y0 ) )
                                   => ( Y1 = Y0 ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( ( sub @ Y1 @ sh )
                                        = ( sub @ Y0 @ sh ) )
                                     => ( Y1 = Y0 ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( ap @ Y1 @ Y2 )
                                           != ( lam @ Y0 ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ~ ( var @ ( lam @ Y0 ) ) )
                                 => ( ( !! @ ( term > $o )
                                      @ ^ [Y0: term > $o] :
                                          ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( ( Y0 @ Y1 )
                                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( Y0 @ Y1 )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !! @ term @ Y0 ) ) ) ) )
                                   => ( ( !! @ ( term > $o )
                                        @ ^ [Y0: term > $o] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                   => ( ( Y0 @ Y1 )
                                                     => ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                     => ( ( !! @ ( term > $o )
                                          @ ^ [Y0: term > $o] :
                                              ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( ( Y0 @ Y1 )
                                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y2 )
                                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                         => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                       => ( ( !! @ ( term > $o )
                                            @ ^ [Y0: term > $o] :
                                                ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( var @ Y1 )
                                                     => ( Y0 @ Y1 ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y2 )
                                                           => ( ( Y0 @ Y1 )
                                                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y2 )
                                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                   => ( !! @ term @ Y0 ) ) ) ) )
                                         => ( ( ( !! @ subst
                                                @ ^ [Y0: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                            = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                              & ( !! @ subst
                                                @ ^ [Y0: subst] :
                                                    ( ( comp @ Y0 @ id )
                                                    = Y0 ) ) )
                                           => ( ( !! @ subst
                                                @ ^ [Y0: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                            = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                    = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                 => ( Y2 = Y0 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                      = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                   => ( Y2 = Y1 ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > term )
                                                      @ ^ [Y0: subst > term > term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                        = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                         => ( !! @ ( subst > term > term )
                                                            @ ^ [Y1: subst > term > term] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                              = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                               => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                    = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                 => ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( Y1 @ Y2 @ Y3 )
                                                                            = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > term )
                                                        @ ^ [Y0: subst > term > term] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                          = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                     != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > term )
                                                          @ ^ [Y0: subst > term > term] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y0: term] :
                                                                ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                         => ( ( !! @ ( subst > term > subst > $o )
                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y4: term] :
                                                                                    ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                   => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                 => ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( ( var @ ( sub @ Y1 @ id ) )
                                                                           => ( Y0 @ id @ Y1 @ id ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( ( var @ Y1 )
                                                                           => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > subst > $o )
                                                                @ ^ [Y0: subst > term > subst > $o] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y4: term] :
                                                                                      ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                     => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                   => ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y4: term] :
                                                                                        ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                       => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y0 @ id @ Y1 @ id )
                                                                                 => ( ( Y0 @ id @ Y2 @ id )
                                                                                   => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y0 @ id @ Y1 @ id )
                                                                                 => ( ( Y0 @ id @ Y2 @ id )
                                                                                   => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                             => ( !! @ ( subst > term > subst > $o )
                                                                @ ^ [Y0: subst > term > subst > $o] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                     => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                   => ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y4: term] :
                                                                                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                       => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                     => ( ( !! @ ( subst > term > term )
                                                                          @ ^ [Y1: subst > term > term] :
                                                                              ( ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                            = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                             => ( ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                               => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                                   => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                             => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f660]) ).

thf(f660,plain,
    ( ( $true
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                      = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                        = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( ( comp @ Y0 @ id )
                  = Y0 ) )
           => ( ( id
                = ( push @ one @ sh ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                      = Y0 ) )
               => ( ( var @ one )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( ( var @ Y0 )
                         => ( var @ ( sub @ Y0 @ sh ) ) ) )
                   => ( ( !! @ ( term > $o )
                        @ ^ [Y0: term > $o] :
                            ( ( Y0 @ one )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( Y0 @ Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ Y2 @ Y3 )
                                            = ( ap @ Y1 @ Y0 ) )
                                         => ( Y2 = Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ Y2 @ Y3 )
                                              = ( ap @ Y0 @ Y1 ) )
                                           => ( Y3 = Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( ( lam @ Y1 )
                                        = ( lam @ Y0 ) )
                                     => ( Y1 = Y0 ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( ( sub @ Y1 @ sh )
                                          = ( sub @ Y0 @ sh ) )
                                       => ( Y1 = Y0 ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( ap @ Y1 @ Y2 )
                                             != ( lam @ Y0 ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ~ ( var @ ( lam @ Y0 ) ) )
                                   => ( ( !! @ ( term > $o )
                                        @ ^ [Y0: term > $o] :
                                            ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( var @ Y1 )
                                                 => ( Y0 @ Y1 ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( ( Y0 @ Y1 )
                                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( Y0 @ Y1 )
                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                               => ( !! @ term @ Y0 ) ) ) ) )
                                     => ( ( !! @ ( term > $o )
                                          @ ^ [Y0: term > $o] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                     => ( ( Y0 @ Y1 )
                                                       => ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                       => ( ( !! @ ( term > $o )
                                            @ ^ [Y0: term > $o] :
                                                ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( ( Y0 @ Y1 )
                                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                           => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                         => ( ( !! @ ( term > $o )
                                              @ ^ [Y0: term > $o] :
                                                  ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( var @ Y1 )
                                                       => ( Y0 @ Y1 ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( ( Y0 @ Y1 )
                                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !! @ term @ Y0 ) ) ) ) )
                                           => ( ( ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                              = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                                & ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( ( comp @ Y0 @ id )
                                                      = Y0 ) ) )
                                             => ( ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                              = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                      = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                   => ( Y2 = Y0 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                        = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                     => ( Y2 = Y1 ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > term )
                                                        @ ^ [Y0: subst > term > term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                          = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                           => ( !! @ ( subst > term > term )
                                                              @ ^ [Y1: subst > term > term] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                                = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                                 => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                      = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                   => ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( Y1 @ Y2 @ Y3 )
                                                                              = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > term )
                                                          @ ^ [Y0: subst > term > term] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                            = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > term )
                                                            @ ^ [Y0: subst > term > term] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                           => ( ( !! @ ( subst > term > subst > $o )
                                                                @ ^ [Y0: subst > term > subst > $o] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y4: term] :
                                                                                      ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                   => ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( ( var @ ( sub @ Y1 @ id ) )
                                                                             => ( Y0 @ id @ Y1 @ id ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( ( var @ Y1 )
                                                                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > subst > $o )
                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y4: term] :
                                                                                        ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                       => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                     => ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y4: term] :
                                                                                          ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                               => ( !! @ ( subst > term > subst > $o )
                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                       => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                     => ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y4: term] :
                                                                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                       => ( ( !! @ ( subst > term > term )
                                                                            @ ^ [Y1: subst > term > term] :
                                                                                ( ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                               => ( ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                 => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f652,f655]) ).

thf(f655,plain,
    ( $true
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
              = Y0 ) ) ) ),
    inference(binary_proxy_clausification,[],[f652]) ).

thf(f652,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                = Y0 ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                      = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                        = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( ( comp @ Y0 @ id )
                  = Y0 ) )
           => ( ( id
                = ( push @ one @ sh ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                      = Y0 ) )
               => ( ( var @ one )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( ( var @ Y0 )
                         => ( var @ ( sub @ Y0 @ sh ) ) ) )
                   => ( ( !! @ ( term > $o )
                        @ ^ [Y0: term > $o] :
                            ( ( Y0 @ one )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( Y0 @ Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ Y2 @ Y3 )
                                            = ( ap @ Y1 @ Y0 ) )
                                         => ( Y2 = Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ Y2 @ Y3 )
                                              = ( ap @ Y0 @ Y1 ) )
                                           => ( Y3 = Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( ( lam @ Y1 )
                                        = ( lam @ Y0 ) )
                                     => ( Y1 = Y0 ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( ( sub @ Y1 @ sh )
                                          = ( sub @ Y0 @ sh ) )
                                       => ( Y1 = Y0 ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( ap @ Y1 @ Y2 )
                                             != ( lam @ Y0 ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ~ ( var @ ( lam @ Y0 ) ) )
                                   => ( ( !! @ ( term > $o )
                                        @ ^ [Y0: term > $o] :
                                            ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( var @ Y1 )
                                                 => ( Y0 @ Y1 ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( ( Y0 @ Y1 )
                                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( Y0 @ Y1 )
                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                               => ( !! @ term @ Y0 ) ) ) ) )
                                     => ( ( !! @ ( term > $o )
                                          @ ^ [Y0: term > $o] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                     => ( ( Y0 @ Y1 )
                                                       => ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                       => ( ( !! @ ( term > $o )
                                            @ ^ [Y0: term > $o] :
                                                ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( ( Y0 @ Y1 )
                                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                           => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                         => ( ( !! @ ( term > $o )
                                              @ ^ [Y0: term > $o] :
                                                  ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( var @ Y1 )
                                                       => ( Y0 @ Y1 ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( ( Y0 @ Y1 )
                                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !! @ term @ Y0 ) ) ) ) )
                                           => ( ( ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                              = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                                & ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( ( comp @ Y0 @ id )
                                                      = Y0 ) ) )
                                             => ( ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                              = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                      = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                   => ( Y2 = Y0 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                        = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                     => ( Y2 = Y1 ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > term )
                                                        @ ^ [Y0: subst > term > term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                          = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                           => ( !! @ ( subst > term > term )
                                                              @ ^ [Y1: subst > term > term] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                                = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                                 => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                      = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                   => ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( Y1 @ Y2 @ Y3 )
                                                                              = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > term )
                                                          @ ^ [Y0: subst > term > term] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                            = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > term )
                                                            @ ^ [Y0: subst > term > term] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                           => ( ( !! @ ( subst > term > subst > $o )
                                                                @ ^ [Y0: subst > term > subst > $o] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y4: term] :
                                                                                      ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                   => ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( ( var @ ( sub @ Y1 @ id ) )
                                                                             => ( Y0 @ id @ Y1 @ id ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( ( var @ Y1 )
                                                                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > subst > $o )
                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y4: term] :
                                                                                        ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                       => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                     => ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y4: term] :
                                                                                          ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                               => ( !! @ ( subst > term > subst > $o )
                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                       => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                     => ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y4: term] :
                                                                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                       => ( ( !! @ ( subst > term > term )
                                                                            @ ^ [Y1: subst > term > term] :
                                                                                ( ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                               => ( ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                 => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f651]) ).

thf(f651,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                = Y0 ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                      = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                        = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( ( comp @ Y0 @ id )
                  = Y0 ) )
           => ( ( id
                = ( push @ one @ sh ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                      = Y0 ) )
               => ( ( var @ one )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( ( var @ Y0 )
                         => ( var @ ( sub @ Y0 @ sh ) ) ) )
                   => ( ( !! @ ( term > $o )
                        @ ^ [Y0: term > $o] :
                            ( ( Y0 @ one )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( Y0 @ Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ Y2 @ Y3 )
                                            = ( ap @ Y1 @ Y0 ) )
                                         => ( Y2 = Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ Y2 @ Y3 )
                                              = ( ap @ Y0 @ Y1 ) )
                                           => ( Y3 = Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( ( lam @ Y1 )
                                        = ( lam @ Y0 ) )
                                     => ( Y1 = Y0 ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( ( sub @ Y1 @ sh )
                                          = ( sub @ Y0 @ sh ) )
                                       => ( Y1 = Y0 ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( ap @ Y1 @ Y2 )
                                             != ( lam @ Y0 ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ~ ( var @ ( lam @ Y0 ) ) )
                                   => ( ( !! @ ( term > $o )
                                        @ ^ [Y0: term > $o] :
                                            ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( var @ Y1 )
                                                 => ( Y0 @ Y1 ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( ( Y0 @ Y1 )
                                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( Y0 @ Y1 )
                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                               => ( !! @ term @ Y0 ) ) ) ) )
                                     => ( ( !! @ ( term > $o )
                                          @ ^ [Y0: term > $o] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                     => ( ( Y0 @ Y1 )
                                                       => ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                       => ( ( !! @ ( term > $o )
                                            @ ^ [Y0: term > $o] :
                                                ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( ( Y0 @ Y1 )
                                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                           => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                         => ( ( !! @ ( term > $o )
                                              @ ^ [Y0: term > $o] :
                                                  ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( var @ Y1 )
                                                       => ( Y0 @ Y1 ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( ( Y0 @ Y1 )
                                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !! @ term @ Y0 ) ) ) ) )
                                           => ( ( ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                              = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                                & $true
                                                & ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( ( comp @ Y0 @ id )
                                                      = Y0 ) ) )
                                             => ( ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                              = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                      = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                   => ( Y2 = Y0 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                        = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                     => ( Y2 = Y1 ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > term )
                                                        @ ^ [Y0: subst > term > term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                          = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                           => ( !! @ ( subst > term > term )
                                                              @ ^ [Y1: subst > term > term] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                                = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                                 => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                      = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                   => ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( Y1 @ Y2 @ Y3 )
                                                                              = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > term )
                                                          @ ^ [Y0: subst > term > term] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                            = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > term )
                                                            @ ^ [Y0: subst > term > term] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                           => ( ( !! @ ( subst > term > subst > $o )
                                                                @ ^ [Y0: subst > term > subst > $o] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y4: term] :
                                                                                      ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                   => ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( ( var @ ( sub @ Y1 @ id ) )
                                                                             => ( Y0 @ id @ Y1 @ id ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( ( var @ Y1 )
                                                                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > subst > $o )
                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y4: term] :
                                                                                        ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                       => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                     => ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y4: term] :
                                                                                          ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                               => ( !! @ ( subst > term > subst > $o )
                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                       => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                     => ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y4: term] :
                                                                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                       => ( ( !! @ ( subst > term > term )
                                                                            @ ^ [Y1: subst > term > term] :
                                                                                ( ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                               => ( ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                 => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f648]) ).

thf(f648,plain,
    ( $false
    = ( $true
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                  = Y0 ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                        = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                          = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( ( comp @ Y0 @ id )
                    = Y0 ) )
             => ( ( id
                  = ( push @ one @ sh ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                        = Y0 ) )
                 => ( ( var @ one )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( ( var @ Y0 )
                           => ( var @ ( sub @ Y0 @ sh ) ) ) )
                     => ( ( !! @ ( term > $o )
                          @ ^ [Y0: term > $o] :
                              ( ( Y0 @ one )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( Y0 @ Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ Y2 @ Y3 )
                                              = ( ap @ Y1 @ Y0 ) )
                                           => ( Y2 = Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( ( ap @ Y2 @ Y3 )
                                                = ( ap @ Y0 @ Y1 ) )
                                             => ( Y3 = Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( ( lam @ Y1 )
                                          = ( lam @ Y0 ) )
                                       => ( Y1 = Y0 ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( ( sub @ Y1 @ sh )
                                            = ( sub @ Y0 @ sh ) )
                                         => ( Y1 = Y0 ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( ap @ Y1 @ Y2 )
                                               != ( lam @ Y0 ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ~ ( var @ ( lam @ Y0 ) ) )
                                     => ( ( !! @ ( term > $o )
                                          @ ^ [Y0: term > $o] :
                                              ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( var @ Y1 )
                                                   => ( Y0 @ Y1 ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( ( Y0 @ Y1 )
                                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( Y0 @ Y1 )
                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                 => ( !! @ term @ Y0 ) ) ) ) )
                                       => ( ( !! @ ( term > $o )
                                            @ ^ [Y0: term > $o] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                       => ( ( Y0 @ Y1 )
                                                         => ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                         => ( ( !! @ ( term > $o )
                                              @ ^ [Y0: term > $o] :
                                                  ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y2 )
                                                           => ( ( Y0 @ Y1 )
                                                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y2 )
                                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                             => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                           => ( ( !! @ ( term > $o )
                                                @ ^ [Y0: term > $o] :
                                                    ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( var @ Y1 )
                                                         => ( Y0 @ Y1 ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y2 )
                                                               => ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                       => ( !! @ term @ Y0 ) ) ) ) )
                                             => ( ( ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                                  & $true
                                                  & ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( ( comp @ Y0 @ id )
                                                        = Y0 ) ) )
                                               => ( ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                        = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                     => ( Y2 = Y0 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y0: term] :
                                                            ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                          = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                       => ( Y2 = Y1 ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > term )
                                                          @ ^ [Y0: subst > term > term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                            = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                             => ( !! @ ( subst > term > term )
                                                                @ ^ [Y1: subst > term > term] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                                  = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                                   => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                        = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                     => ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( ( Y1 @ Y2 @ Y3 )
                                                                                = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > term )
                                                            @ ^ [Y0: subst > term > term] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                              = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                         != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > term )
                                                              @ ^ [Y0: subst > term > term] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                             => ( ( !! @ ( subst > term > subst > $o )
                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y4: term] :
                                                                                        ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                       => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                     => ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                         => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( ( var @ ( sub @ Y1 @ id ) )
                                                                               => ( Y0 @ id @ Y1 @ id ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( ( var @ Y1 )
                                                                               => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > subst > $o )
                                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y4: term] :
                                                                                          ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                         => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                       => ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y4: term] :
                                                                                            ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                           => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                         => ( ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( Y0 @ id @ Y1 @ id )
                                                                                     => ( ( Y0 @ id @ Y2 @ id )
                                                                                       => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                           => ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( Y0 @ id @ Y1 @ id )
                                                                                     => ( ( Y0 @ id @ Y2 @ id )
                                                                                       => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                                 => ( !! @ ( subst > term > subst > $o )
                                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                         => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                       => ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y4: term] :
                                                                                            ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                           => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                         => ( ( !! @ ( subst > term > term )
                                                                              @ ^ [Y1: subst > term > term] :
                                                                                  ( ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                                = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                                         => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                   => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                           => ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                                       => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                 => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(backward_demodulation,[],[f638,f645]) ).

thf(f645,plain,
    ( ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( comp @ id @ Y0 )
          = Y0 ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f638]) ).

thf(f638,plain,
    ( $false
    = ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( comp @ id @ Y0 )
            = Y0 ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                  = Y0 ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                        = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                          = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( ( comp @ Y0 @ id )
                    = Y0 ) )
             => ( ( id
                  = ( push @ one @ sh ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                        = Y0 ) )
                 => ( ( var @ one )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( ( var @ Y0 )
                           => ( var @ ( sub @ Y0 @ sh ) ) ) )
                     => ( ( !! @ ( term > $o )
                          @ ^ [Y0: term > $o] :
                              ( ( Y0 @ one )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( Y0 @ Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ Y2 @ Y3 )
                                              = ( ap @ Y1 @ Y0 ) )
                                           => ( Y2 = Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( ( ap @ Y2 @ Y3 )
                                                = ( ap @ Y0 @ Y1 ) )
                                             => ( Y3 = Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( ( lam @ Y1 )
                                          = ( lam @ Y0 ) )
                                       => ( Y1 = Y0 ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( ( sub @ Y1 @ sh )
                                            = ( sub @ Y0 @ sh ) )
                                         => ( Y1 = Y0 ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( ap @ Y1 @ Y2 )
                                               != ( lam @ Y0 ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ~ ( var @ ( lam @ Y0 ) ) )
                                     => ( ( !! @ ( term > $o )
                                          @ ^ [Y0: term > $o] :
                                              ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( var @ Y1 )
                                                   => ( Y0 @ Y1 ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( ( Y0 @ Y1 )
                                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( Y0 @ Y1 )
                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                 => ( !! @ term @ Y0 ) ) ) ) )
                                       => ( ( !! @ ( term > $o )
                                            @ ^ [Y0: term > $o] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                       => ( ( Y0 @ Y1 )
                                                         => ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                         => ( ( !! @ ( term > $o )
                                              @ ^ [Y0: term > $o] :
                                                  ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y2 )
                                                           => ( ( Y0 @ Y1 )
                                                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y2 )
                                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                             => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                           => ( ( !! @ ( term > $o )
                                                @ ^ [Y0: term > $o] :
                                                    ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( var @ Y1 )
                                                         => ( Y0 @ Y1 ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y2 )
                                                               => ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                       => ( !! @ term @ Y0 ) ) ) ) )
                                             => ( ( ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                                  & ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( ( comp @ id @ Y0 )
                                                        = Y0 ) )
                                                  & ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( ( comp @ Y0 @ id )
                                                        = Y0 ) ) )
                                               => ( ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                        = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                     => ( Y2 = Y0 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y0: term] :
                                                            ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                          = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                       => ( Y2 = Y1 ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > term )
                                                          @ ^ [Y0: subst > term > term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                            = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                             => ( !! @ ( subst > term > term )
                                                                @ ^ [Y1: subst > term > term] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                                  = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                                   => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                        = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                     => ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( ( Y1 @ Y2 @ Y3 )
                                                                                = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > term )
                                                            @ ^ [Y0: subst > term > term] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                              = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                         != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > term )
                                                              @ ^ [Y0: subst > term > term] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                             => ( ( !! @ ( subst > term > subst > $o )
                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y4: term] :
                                                                                        ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                       => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                     => ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                         => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( ( var @ ( sub @ Y1 @ id ) )
                                                                               => ( Y0 @ id @ Y1 @ id ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( ( var @ Y1 )
                                                                               => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > subst > $o )
                                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y4: term] :
                                                                                          ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                         => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                       => ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y4: term] :
                                                                                            ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                           => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                         => ( ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( Y0 @ id @ Y1 @ id )
                                                                                     => ( ( Y0 @ id @ Y2 @ id )
                                                                                       => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                           => ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( Y0 @ id @ Y1 @ id )
                                                                                     => ( ( Y0 @ id @ Y2 @ id )
                                                                                       => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                                 => ( !! @ ( subst > term > subst > $o )
                                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                         => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                       => ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y4: term] :
                                                                                            ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                           => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                         => ( ( !! @ ( subst > term > term )
                                                                              @ ^ [Y1: subst > term > term] :
                                                                                  ( ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                                = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                                         => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                   => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                           => ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                                       => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                 => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(boolean_simplification,[],[f635]) ).

thf(f635,plain,
    ( $false
    = ( $true
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( ( comp @ id @ Y0 )
              = Y0 ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                    = Y0 ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                          = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                            = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( comp @ Y0 @ id )
                      = Y0 ) )
               => ( ( id
                    = ( push @ one @ sh ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                          = Y0 ) )
                   => ( ( var @ one )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( ( var @ Y0 )
                             => ( var @ ( sub @ Y0 @ sh ) ) ) )
                       => ( ( !! @ ( term > $o )
                            @ ^ [Y0: term > $o] :
                                ( ( Y0 @ one )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( Y0 @ Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( ( ap @ Y2 @ Y3 )
                                                = ( ap @ Y1 @ Y0 ) )
                                             => ( Y2 = Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ Y2 @ Y3 )
                                                  = ( ap @ Y0 @ Y1 ) )
                                               => ( Y3 = Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( ( lam @ Y1 )
                                            = ( lam @ Y0 ) )
                                         => ( Y1 = Y0 ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( ( sub @ Y1 @ sh )
                                              = ( sub @ Y0 @ sh ) )
                                           => ( Y1 = Y0 ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( ap @ Y1 @ Y2 )
                                                 != ( lam @ Y0 ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ~ ( var @ ( lam @ Y0 ) ) )
                                       => ( ( !! @ ( term > $o )
                                            @ ^ [Y0: term > $o] :
                                                ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( var @ Y1 )
                                                     => ( Y0 @ Y1 ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y2 )
                                                           => ( ( Y0 @ Y1 )
                                                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( Y0 @ Y1 )
                                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                   => ( !! @ term @ Y0 ) ) ) ) )
                                         => ( ( !! @ ( term > $o )
                                              @ ^ [Y0: term > $o] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                         => ( ( Y0 @ Y1 )
                                                           => ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                           => ( ( !! @ ( term > $o )
                                                @ ^ [Y0: term > $o] :
                                                    ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( ( Y0 @ Y1 )
                                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                               => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                             => ( ( !! @ ( term > $o )
                                                  @ ^ [Y0: term > $o] :
                                                      ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( var @ Y1 )
                                                           => ( Y0 @ Y1 ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( ( Y0 @ Y1 )
                                                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                         => ( !! @ term @ Y0 ) ) ) ) )
                                               => ( ( ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                  = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                                    & ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( ( comp @ id @ Y0 )
                                                          = Y0 ) )
                                                    & ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( ( comp @ Y0 @ id )
                                                          = Y0 ) ) )
                                                 => ( ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                  = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y0: term] :
                                                            ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                          = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                       => ( Y2 = Y0 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y0: term] :
                                                              ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                            = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                         => ( Y2 = Y1 ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > term )
                                                            @ ^ [Y0: subst > term > term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                              = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                               => ( !! @ ( subst > term > term )
                                                                  @ ^ [Y1: subst > term > term] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                                    = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                                     => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                          = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                       => ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( Y1 @ Y2 @ Y3 )
                                                                                  = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > term )
                                                              @ ^ [Y0: subst > term > term] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                           != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > term )
                                                                @ ^ [Y0: subst > term > term] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y0: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                               => ( ( !! @ ( subst > term > subst > $o )
                                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y4: term] :
                                                                                          ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                         => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                       => ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                           => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                         => ( ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( ( var @ ( sub @ Y1 @ id ) )
                                                                                 => ( Y0 @ id @ Y1 @ id ) ) )
                                                                           => ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( ( var @ Y1 )
                                                                                 => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > subst > $o )
                                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y4: term] :
                                                                                            ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                           => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                         => ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y4: term] :
                                                                                              ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                           => ( ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( Y0 @ id @ Y1 @ id )
                                                                                       => ( ( Y0 @ id @ Y2 @ id )
                                                                                         => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( Y0 @ id @ Y1 @ id )
                                                                                       => ( ( Y0 @ id @ Y2 @ id )
                                                                                         => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                                   => ( !! @ ( subst > term > subst > $o )
                                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                           => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                         => ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y4: term] :
                                                                                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                           => ( ( !! @ ( subst > term > term )
                                                                                @ ^ [Y1: subst > term > term] :
                                                                                    ( ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                                   => ( ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                     => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(backward_demodulation,[],[f593,f604]) ).

thf(f604,plain,
    ( $true
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( sub @ Y1 @ ( comp @ Y0 @ Y2 ) )
                  = ( sub @ ( sub @ Y1 @ Y0 ) @ Y2 ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f593]) ).

thf(f593,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( sub @ Y1 @ ( comp @ Y0 @ Y2 ) )
                    = ( sub @ ( sub @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( ( comp @ id @ Y0 )
              = Y0 ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                    = Y0 ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                          = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                            = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( comp @ Y0 @ id )
                      = Y0 ) )
               => ( ( id
                    = ( push @ one @ sh ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                          = Y0 ) )
                   => ( ( var @ one )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( ( var @ Y0 )
                             => ( var @ ( sub @ Y0 @ sh ) ) ) )
                       => ( ( !! @ ( term > $o )
                            @ ^ [Y0: term > $o] :
                                ( ( Y0 @ one )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( Y0 @ Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( ( ap @ Y2 @ Y3 )
                                                = ( ap @ Y1 @ Y0 ) )
                                             => ( Y2 = Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ Y2 @ Y3 )
                                                  = ( ap @ Y0 @ Y1 ) )
                                               => ( Y3 = Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( ( lam @ Y1 )
                                            = ( lam @ Y0 ) )
                                         => ( Y1 = Y0 ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( ( sub @ Y1 @ sh )
                                              = ( sub @ Y0 @ sh ) )
                                           => ( Y1 = Y0 ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( ap @ Y1 @ Y2 )
                                                 != ( lam @ Y0 ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ~ ( var @ ( lam @ Y0 ) ) )
                                       => ( ( !! @ ( term > $o )
                                            @ ^ [Y0: term > $o] :
                                                ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( var @ Y1 )
                                                     => ( Y0 @ Y1 ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y2 )
                                                           => ( ( Y0 @ Y1 )
                                                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( Y0 @ Y1 )
                                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                   => ( !! @ term @ Y0 ) ) ) ) )
                                         => ( ( !! @ ( term > $o )
                                              @ ^ [Y0: term > $o] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                         => ( ( Y0 @ Y1 )
                                                           => ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                           => ( ( !! @ ( term > $o )
                                                @ ^ [Y0: term > $o] :
                                                    ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( ( Y0 @ Y1 )
                                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                               => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                             => ( ( !! @ ( term > $o )
                                                  @ ^ [Y0: term > $o] :
                                                      ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( var @ Y1 )
                                                           => ( Y0 @ Y1 ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( ( Y0 @ Y1 )
                                                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                         => ( !! @ term @ Y0 ) ) ) ) )
                                               => ( ( ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                  = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                                    & ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( ( comp @ id @ Y0 )
                                                          = Y0 ) )
                                                    & ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( ( comp @ Y0 @ id )
                                                          = Y0 ) ) )
                                                 => ( ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                  = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y0: term] :
                                                            ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                          = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                       => ( Y2 = Y0 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y0: term] :
                                                              ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                            = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                         => ( Y2 = Y1 ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > term )
                                                            @ ^ [Y0: subst > term > term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                              = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                               => ( !! @ ( subst > term > term )
                                                                  @ ^ [Y1: subst > term > term] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                                    = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                                     => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                          = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                       => ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( Y1 @ Y2 @ Y3 )
                                                                                  = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > term )
                                                              @ ^ [Y0: subst > term > term] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                           != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > term )
                                                                @ ^ [Y0: subst > term > term] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y0: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                               => ( ( !! @ ( subst > term > subst > $o )
                                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y4: term] :
                                                                                          ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                         => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                       => ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                           => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                         => ( ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( ( var @ ( sub @ Y1 @ id ) )
                                                                                 => ( Y0 @ id @ Y1 @ id ) ) )
                                                                           => ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( ( var @ Y1 )
                                                                                 => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > subst > $o )
                                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y4: term] :
                                                                                            ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                           => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                         => ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y4: term] :
                                                                                              ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                           => ( ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( Y0 @ id @ Y1 @ id )
                                                                                       => ( ( Y0 @ id @ Y2 @ id )
                                                                                         => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( Y0 @ id @ Y1 @ id )
                                                                                       => ( ( Y0 @ id @ Y2 @ id )
                                                                                         => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                                   => ( !! @ ( subst > term > subst > $o )
                                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                           => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                         => ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y4: term] :
                                                                                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                           => ( ( !! @ ( subst > term > term )
                                                                                @ ^ [Y1: subst > term > term] :
                                                                                    ( ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                                   => ( ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                     => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f591]) ).

thf(f591,plain,
    ( ( $true
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( sub @ Y1 @ ( comp @ Y0 @ Y2 ) )
                      = ( sub @ ( sub @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( ( comp @ id @ Y0 )
                = Y0 ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                      = Y0 ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                            = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                              = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( ( comp @ Y0 @ id )
                        = Y0 ) )
                 => ( ( id
                      = ( push @ one @ sh ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                            = Y0 ) )
                     => ( ( var @ one )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( ( var @ Y0 )
                               => ( var @ ( sub @ Y0 @ sh ) ) ) )
                         => ( ( !! @ ( term > $o )
                              @ ^ [Y0: term > $o] :
                                  ( ( Y0 @ one )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ Y2 @ Y3 )
                                                  = ( ap @ Y1 @ Y0 ) )
                                               => ( Y2 = Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ Y2 @ Y3 )
                                                    = ( ap @ Y0 @ Y1 ) )
                                                 => ( Y3 = Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( ( lam @ Y1 )
                                              = ( lam @ Y0 ) )
                                           => ( Y1 = Y0 ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( ( sub @ Y1 @ sh )
                                                = ( sub @ Y0 @ sh ) )
                                             => ( Y1 = Y0 ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( ap @ Y1 @ Y2 )
                                                   != ( lam @ Y0 ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ~ ( var @ ( lam @ Y0 ) ) )
                                         => ( ( !! @ ( term > $o )
                                              @ ^ [Y0: term > $o] :
                                                  ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( var @ Y1 )
                                                       => ( Y0 @ Y1 ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( ( Y0 @ Y1 )
                                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( Y0 @ Y1 )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !! @ term @ Y0 ) ) ) ) )
                                           => ( ( !! @ ( term > $o )
                                                @ ^ [Y0: term > $o] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                           => ( ( Y0 @ Y1 )
                                                             => ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                             => ( ( !! @ ( term > $o )
                                                  @ ^ [Y0: term > $o] :
                                                      ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y2 )
                                                               => ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                 => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ Y1 )
                                                             => ( Y0 @ Y1 ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( ( Y0 @ Y1 )
                                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term @ Y0 ) ) ) ) )
                                                 => ( ( ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                    = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                                      & ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( ( comp @ id @ Y0 )
                                                            = Y0 ) )
                                                      & ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( ( comp @ Y0 @ id )
                                                            = Y0 ) ) )
                                                   => ( ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                    = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y0: term] :
                                                              ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                            = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                         => ( Y2 = Y0 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y0: term] :
                                                                ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                              = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                           => ( Y2 = Y1 ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > term )
                                                              @ ^ [Y0: subst > term > term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                                = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                                 => ( !! @ ( subst > term > term )
                                                                    @ ^ [Y1: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                                      = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                                       => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                            = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                         => ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( ( Y1 @ Y2 @ Y3 )
                                                                                    = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > term )
                                                                @ ^ [Y0: subst > term > term] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                  = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > term )
                                                                  @ ^ [Y0: subst > term > term] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y0: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                                 => ( ( !! @ ( subst > term > subst > $o )
                                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y4: term] :
                                                                                            ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                         => ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                           => ( ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( ( var @ ( sub @ Y1 @ id ) )
                                                                                   => ( Y0 @ id @ Y1 @ id ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( ( var @ Y1 )
                                                                                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > subst > $o )
                                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y4: term] :
                                                                                              ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                             => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                           => ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y4: term] :
                                                                                                ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                             => ( ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y0 @ id @ Y1 @ id )
                                                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y0 @ id @ Y1 @ id )
                                                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                                     => ( !! @ ( subst > term > subst > $o )
                                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y3: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                             => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                           => ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y4: term] :
                                                                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                             => ( ( !! @ ( subst > term > term )
                                                                                  @ ^ [Y1: subst > term > term] :
                                                                                      ( ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                                    = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                                     => ( ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f551,f553]) ).

thf(f553,plain,
    ( ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( sub @ ( lam @ Y1 ) @ Y0 )
              = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f551]) ).

thf(f551,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( ( sub @ ( lam @ Y1 ) @ Y0 )
                = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( sub @ Y1 @ ( comp @ Y0 @ Y2 ) )
                      = ( sub @ ( sub @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( ( comp @ id @ Y0 )
                = Y0 ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                      = Y0 ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                            = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                              = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( ( comp @ Y0 @ id )
                        = Y0 ) )
                 => ( ( id
                      = ( push @ one @ sh ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                            = Y0 ) )
                     => ( ( var @ one )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( ( var @ Y0 )
                               => ( var @ ( sub @ Y0 @ sh ) ) ) )
                         => ( ( !! @ ( term > $o )
                              @ ^ [Y0: term > $o] :
                                  ( ( Y0 @ one )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ Y2 @ Y3 )
                                                  = ( ap @ Y1 @ Y0 ) )
                                               => ( Y2 = Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ Y2 @ Y3 )
                                                    = ( ap @ Y0 @ Y1 ) )
                                                 => ( Y3 = Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( ( lam @ Y1 )
                                              = ( lam @ Y0 ) )
                                           => ( Y1 = Y0 ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( ( sub @ Y1 @ sh )
                                                = ( sub @ Y0 @ sh ) )
                                             => ( Y1 = Y0 ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( ap @ Y1 @ Y2 )
                                                   != ( lam @ Y0 ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ~ ( var @ ( lam @ Y0 ) ) )
                                         => ( ( !! @ ( term > $o )
                                              @ ^ [Y0: term > $o] :
                                                  ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( var @ Y1 )
                                                       => ( Y0 @ Y1 ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( ( Y0 @ Y1 )
                                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( Y0 @ Y1 )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !! @ term @ Y0 ) ) ) ) )
                                           => ( ( !! @ ( term > $o )
                                                @ ^ [Y0: term > $o] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                           => ( ( Y0 @ Y1 )
                                                             => ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                             => ( ( !! @ ( term > $o )
                                                  @ ^ [Y0: term > $o] :
                                                      ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y2 )
                                                               => ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                 => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ Y1 )
                                                             => ( Y0 @ Y1 ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( ( Y0 @ Y1 )
                                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term @ Y0 ) ) ) ) )
                                                 => ( ( ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                    = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                                      & ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( ( comp @ id @ Y0 )
                                                            = Y0 ) )
                                                      & ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( ( comp @ Y0 @ id )
                                                            = Y0 ) ) )
                                                   => ( ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                    = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y0: term] :
                                                              ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                            = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                         => ( Y2 = Y0 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y0: term] :
                                                                ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                              = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                           => ( Y2 = Y1 ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > term )
                                                              @ ^ [Y0: subst > term > term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                                = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                                 => ( !! @ ( subst > term > term )
                                                                    @ ^ [Y1: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                                      = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                                       => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                            = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                         => ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( ( Y1 @ Y2 @ Y3 )
                                                                                    = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > term )
                                                                @ ^ [Y0: subst > term > term] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                  = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > term )
                                                                  @ ^ [Y0: subst > term > term] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y0: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                                 => ( ( !! @ ( subst > term > subst > $o )
                                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y4: term] :
                                                                                            ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                         => ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                           => ( ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( ( var @ ( sub @ Y1 @ id ) )
                                                                                   => ( Y0 @ id @ Y1 @ id ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( ( var @ Y1 )
                                                                                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > subst > $o )
                                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y4: term] :
                                                                                              ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                             => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                           => ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y4: term] :
                                                                                                ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                             => ( ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y0 @ id @ Y1 @ id )
                                                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y0 @ id @ Y1 @ id )
                                                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                                     => ( !! @ ( subst > term > subst > $o )
                                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y3: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                             => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                           => ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y4: term] :
                                                                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                             => ( ( !! @ ( subst > term > term )
                                                                                  @ ^ [Y1: subst > term > term] :
                                                                                      ( ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                                    = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                                     => ( ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f550]) ).

thf(f550,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( ( sub @ ( lam @ Y1 ) @ Y0 )
                = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( sub @ Y1 @ ( comp @ Y0 @ Y2 ) )
                      = ( sub @ ( sub @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( ( comp @ id @ Y0 )
                = Y0 ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                      = Y0 ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                            = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                              = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( ( comp @ Y0 @ id )
                        = Y0 ) )
                 => ( ( id
                      = ( push @ one @ sh ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                            = Y0 ) )
                     => ( ( var @ one )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( ( var @ Y0 )
                               => ( var @ ( sub @ Y0 @ sh ) ) ) )
                         => ( ( !! @ ( term > $o )
                              @ ^ [Y0: term > $o] :
                                  ( ( Y0 @ one )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ Y2 @ Y3 )
                                                  = ( ap @ Y1 @ Y0 ) )
                                               => ( Y2 = Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ Y2 @ Y3 )
                                                    = ( ap @ Y0 @ Y1 ) )
                                                 => ( Y3 = Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( ( lam @ Y1 )
                                              = ( lam @ Y0 ) )
                                           => ( Y1 = Y0 ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( ( sub @ Y1 @ sh )
                                                = ( sub @ Y0 @ sh ) )
                                             => ( Y1 = Y0 ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( ap @ Y1 @ Y2 )
                                                   != ( lam @ Y0 ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ~ ( var @ ( lam @ Y0 ) ) )
                                         => ( ( !! @ ( term > $o )
                                              @ ^ [Y0: term > $o] :
                                                  ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( var @ Y1 )
                                                       => ( Y0 @ Y1 ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( ( Y0 @ Y1 )
                                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( Y0 @ Y1 )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !! @ term @ Y0 ) ) ) ) )
                                           => ( ( !! @ ( term > $o )
                                                @ ^ [Y0: term > $o] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                           => ( ( Y0 @ Y1 )
                                                             => ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                             => ( ( !! @ ( term > $o )
                                                  @ ^ [Y0: term > $o] :
                                                      ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y2 )
                                                               => ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                 => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ Y1 )
                                                             => ( Y0 @ Y1 ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( ( Y0 @ Y1 )
                                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term @ Y0 ) ) ) ) )
                                                 => ( ( ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                    = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                                      & ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( ( comp @ id @ Y0 )
                                                            = Y0 ) )
                                                      & ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( ( comp @ Y0 @ id )
                                                            = Y0 ) ) )
                                                   => ( ( $true
                                                        & ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                      = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y0: term] :
                                                              ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                            = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                         => ( Y2 = Y0 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y0: term] :
                                                                ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                              = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                           => ( Y2 = Y1 ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > term )
                                                              @ ^ [Y0: subst > term > term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                                = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                                 => ( !! @ ( subst > term > term )
                                                                    @ ^ [Y1: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                                      = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                                       => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                            = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                         => ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( ( Y1 @ Y2 @ Y3 )
                                                                                    = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > term )
                                                                @ ^ [Y0: subst > term > term] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                  = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > term )
                                                                  @ ^ [Y0: subst > term > term] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y0: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                                 => ( ( !! @ ( subst > term > subst > $o )
                                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y4: term] :
                                                                                            ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                         => ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                           => ( ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( ( var @ ( sub @ Y1 @ id ) )
                                                                                   => ( Y0 @ id @ Y1 @ id ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( ( var @ Y1 )
                                                                                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > subst > $o )
                                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y4: term] :
                                                                                              ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                             => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                           => ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y4: term] :
                                                                                                ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                             => ( ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y0 @ id @ Y1 @ id )
                                                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y0 @ id @ Y1 @ id )
                                                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                                     => ( !! @ ( subst > term > subst > $o )
                                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y3: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                             => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                           => ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y4: term] :
                                                                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                             => ( ( !! @ ( subst > term > term )
                                                                                  @ ^ [Y1: subst > term > term] :
                                                                                      ( ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                                    = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                                     => ( ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f547]) ).

thf(f547,plain,
    ( $false
    = ( $true
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( sub @ ( lam @ Y1 ) @ Y0 )
                  = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( sub @ Y1 @ ( comp @ Y0 @ Y2 ) )
                        = ( sub @ ( sub @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( ( comp @ id @ Y0 )
                  = Y0 ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                        = Y0 ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                              = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                                = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( ( comp @ Y0 @ id )
                          = Y0 ) )
                   => ( ( id
                        = ( push @ one @ sh ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                              = Y0 ) )
                       => ( ( var @ one )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( ( var @ Y0 )
                                 => ( var @ ( sub @ Y0 @ sh ) ) ) )
                           => ( ( !! @ ( term > $o )
                                @ ^ [Y0: term > $o] :
                                    ( ( Y0 @ one )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( Y0 @ Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ Y2 @ Y3 )
                                                    = ( ap @ Y1 @ Y0 ) )
                                                 => ( Y2 = Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( ( ap @ Y2 @ Y3 )
                                                      = ( ap @ Y0 @ Y1 ) )
                                                   => ( Y3 = Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( ( lam @ Y1 )
                                                = ( lam @ Y0 ) )
                                             => ( Y1 = Y0 ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( ( sub @ Y1 @ sh )
                                                  = ( sub @ Y0 @ sh ) )
                                               => ( Y1 = Y0 ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( ap @ Y1 @ Y2 )
                                                     != ( lam @ Y0 ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ~ ( var @ ( lam @ Y0 ) ) )
                                           => ( ( !! @ ( term > $o )
                                                @ ^ [Y0: term > $o] :
                                                    ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( var @ Y1 )
                                                         => ( Y0 @ Y1 ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y2 )
                                                               => ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( Y0 @ Y1 )
                                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                       => ( !! @ term @ Y0 ) ) ) ) )
                                             => ( ( !! @ ( term > $o )
                                                  @ ^ [Y0: term > $o] :
                                                      ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                             => ( ( Y0 @ Y1 )
                                                               => ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( ( Y0 @ Y1 )
                                                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( var @ Y3 )
                                                                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                   => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                                 => ( ( !! @ ( term > $o )
                                                      @ ^ [Y0: term > $o] :
                                                          ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( var @ Y1 )
                                                               => ( Y0 @ Y1 ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y2 )
                                                                     => ( ( Y0 @ Y1 )
                                                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                             => ( !! @ term @ Y0 ) ) ) ) )
                                                   => ( ( ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                      = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                                        & ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( ( comp @ id @ Y0 )
                                                              = Y0 ) )
                                                        & ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( ( comp @ Y0 @ id )
                                                              = Y0 ) ) )
                                                     => ( ( $true
                                                          & ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                        = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y0: term] :
                                                                ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                              = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                           => ( Y2 = Y0 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                                = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                             => ( Y2 = Y1 ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > term )
                                                                @ ^ [Y0: subst > term > term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                                  = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                                   => ( !! @ ( subst > term > term )
                                                                      @ ^ [Y1: subst > term > term] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                                        = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                                         => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                              = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                           => ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( ( Y1 @ Y2 @ Y3 )
                                                                                      = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > term )
                                                                  @ ^ [Y0: subst > term > term] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                    = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y0: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                                   => ( ( !! @ ( subst > term > subst > $o )
                                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y4: term] :
                                                                                              ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                             => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                           => ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                             => ( ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( ( var @ ( sub @ Y1 @ id ) )
                                                                                     => ( Y0 @ id @ Y1 @ id ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( ( var @ Y1 )
                                                                                     => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                     => ( ( !! @ ( subst > term > subst > $o )
                                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                                              ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y4: term] :
                                                                                                ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                               => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                             => ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ term
                                                                                              @ ^ [Y4: term] :
                                                                                                  ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                               => ( ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( Y0 @ id @ Y1 @ id )
                                                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                                                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                                 => ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( Y0 @ id @ Y1 @ id )
                                                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                                                             => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                                       => ( !! @ ( subst > term > subst > $o )
                                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                                              ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y3: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                               => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                             => ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ term
                                                                                              @ ^ [Y4: term] :
                                                                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                               => ( ( !! @ ( subst > term > term )
                                                                                    @ ^ [Y1: subst > term > term] :
                                                                                        ( ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y3: subst] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y4: subst] :
                                                                                                      ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                                      = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                                       => ( ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                                 => ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(backward_demodulation,[],[f543,f546]) ).

thf(f546,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( ( sub @ Y0 @ id )
          = Y0 ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f543]) ).

thf(f543,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( ( sub @ Y0 @ id )
            = Y0 ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( sub @ ( lam @ Y1 ) @ Y0 )
                  = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( sub @ Y1 @ ( comp @ Y0 @ Y2 ) )
                        = ( sub @ ( sub @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( ( comp @ id @ Y0 )
                  = Y0 ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                        = Y0 ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                              = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                                = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( ( comp @ Y0 @ id )
                          = Y0 ) )
                   => ( ( id
                        = ( push @ one @ sh ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                              = Y0 ) )
                       => ( ( var @ one )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( ( var @ Y0 )
                                 => ( var @ ( sub @ Y0 @ sh ) ) ) )
                           => ( ( !! @ ( term > $o )
                                @ ^ [Y0: term > $o] :
                                    ( ( Y0 @ one )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( Y0 @ Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ Y2 @ Y3 )
                                                    = ( ap @ Y1 @ Y0 ) )
                                                 => ( Y2 = Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( ( ap @ Y2 @ Y3 )
                                                      = ( ap @ Y0 @ Y1 ) )
                                                   => ( Y3 = Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( ( lam @ Y1 )
                                                = ( lam @ Y0 ) )
                                             => ( Y1 = Y0 ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( ( sub @ Y1 @ sh )
                                                  = ( sub @ Y0 @ sh ) )
                                               => ( Y1 = Y0 ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( ap @ Y1 @ Y2 )
                                                     != ( lam @ Y0 ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ~ ( var @ ( lam @ Y0 ) ) )
                                           => ( ( !! @ ( term > $o )
                                                @ ^ [Y0: term > $o] :
                                                    ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( var @ Y1 )
                                                         => ( Y0 @ Y1 ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y2 )
                                                               => ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( Y0 @ Y1 )
                                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                       => ( !! @ term @ Y0 ) ) ) ) )
                                             => ( ( !! @ ( term > $o )
                                                  @ ^ [Y0: term > $o] :
                                                      ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                             => ( ( Y0 @ Y1 )
                                                               => ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( ( Y0 @ Y1 )
                                                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( var @ Y3 )
                                                                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                   => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                                 => ( ( !! @ ( term > $o )
                                                      @ ^ [Y0: term > $o] :
                                                          ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( var @ Y1 )
                                                               => ( Y0 @ Y1 ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y2 )
                                                                     => ( ( Y0 @ Y1 )
                                                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                             => ( !! @ term @ Y0 ) ) ) ) )
                                                   => ( ( ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                      = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                                        & ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( ( comp @ id @ Y0 )
                                                              = Y0 ) )
                                                        & ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( ( comp @ Y0 @ id )
                                                              = Y0 ) ) )
                                                     => ( ( ( !! @ term
                                                            @ ^ [Y0: term] :
                                                                ( ( sub @ Y0 @ id )
                                                                = Y0 ) )
                                                          & ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                        = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y0: term] :
                                                                ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                              = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                           => ( Y2 = Y0 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                                = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                             => ( Y2 = Y1 ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > term )
                                                                @ ^ [Y0: subst > term > term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                                  = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                                   => ( !! @ ( subst > term > term )
                                                                      @ ^ [Y1: subst > term > term] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                                        = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                                         => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                              = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                           => ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( ( Y1 @ Y2 @ Y3 )
                                                                                      = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > term )
                                                                  @ ^ [Y0: subst > term > term] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                    = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y0: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                                   => ( ( !! @ ( subst > term > subst > $o )
                                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y4: term] :
                                                                                              ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                             => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                           => ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                             => ( ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( ( var @ ( sub @ Y1 @ id ) )
                                                                                     => ( Y0 @ id @ Y1 @ id ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( ( var @ Y1 )
                                                                                     => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                     => ( ( !! @ ( subst > term > subst > $o )
                                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                                              ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y4: term] :
                                                                                                ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                               => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                             => ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ term
                                                                                              @ ^ [Y4: term] :
                                                                                                  ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                               => ( ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( Y0 @ id @ Y1 @ id )
                                                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                                                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                                 => ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( Y0 @ id @ Y1 @ id )
                                                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                                                             => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                                       => ( !! @ ( subst > term > subst > $o )
                                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                                              ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y3: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                               => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                             => ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ term
                                                                                              @ ^ [Y4: term] :
                                                                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                               => ( ( !! @ ( subst > term > term )
                                                                                    @ ^ [Y1: subst > term > term] :
                                                                                        ( ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y3: subst] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y4: subst] :
                                                                                                      ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                                      = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                                       => ( ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                                 => ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f541]) ).

thf(f541,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( ( sub @ Y0 @ id )
              = Y0 ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( ( sub @ ( lam @ Y1 ) @ Y0 )
                    = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( sub @ Y1 @ ( comp @ Y0 @ Y2 ) )
                          = ( sub @ ( sub @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( ( comp @ id @ Y0 )
                    = Y0 ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                          = Y0 ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                                  = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( ( comp @ Y0 @ id )
                            = Y0 ) )
                     => ( ( id
                          = ( push @ one @ sh ) )
                       => ( ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                                = Y0 ) )
                         => ( ( var @ one )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( ( var @ Y0 )
                                   => ( var @ ( sub @ Y0 @ sh ) ) ) )
                             => ( ( !! @ ( term > $o )
                                  @ ^ [Y0: term > $o] :
                                      ( ( Y0 @ one )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( Y0 @ Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( ( ap @ Y2 @ Y3 )
                                                      = ( ap @ Y1 @ Y0 ) )
                                                   => ( Y2 = Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ Y2 @ Y3 )
                                                        = ( ap @ Y0 @ Y1 ) )
                                                     => ( Y3 = Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( ( lam @ Y1 )
                                                  = ( lam @ Y0 ) )
                                               => ( Y1 = Y0 ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( ( sub @ Y1 @ sh )
                                                    = ( sub @ Y0 @ sh ) )
                                                 => ( Y1 = Y0 ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( ap @ Y1 @ Y2 )
                                                       != ( lam @ Y0 ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ~ ( var @ ( lam @ Y0 ) ) )
                                             => ( ( !! @ ( term > $o )
                                                  @ ^ [Y0: term > $o] :
                                                      ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( var @ Y1 )
                                                           => ( Y0 @ Y1 ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( ( Y0 @ Y1 )
                                                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( Y0 @ Y1 )
                                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                         => ( !! @ term @ Y0 ) ) ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                               => ( ( Y0 @ Y1 )
                                                                 => ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                                 => ( ( !! @ ( term > $o )
                                                      @ ^ [Y0: term > $o] :
                                                          ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( ( Y0 @ Y1 )
                                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( var @ Y3 )
                                                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                     => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( term > $o )
                                                        @ ^ [Y0: term > $o] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( var @ Y1 )
                                                                 => ( Y0 @ Y1 ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y2 )
                                                                       => ( ( Y0 @ Y1 )
                                                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ Y2 )
                                                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                               => ( !! @ term @ Y0 ) ) ) ) )
                                                     => ( ( ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                        = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                                          & ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( ( comp @ id @ Y0 )
                                                                = Y0 ) )
                                                          & ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( ( comp @ Y0 @ id )
                                                                = Y0 ) ) )
                                                       => ( ( ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( ( sub @ Y0 @ id )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                          = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                                = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                             => ( Y2 = Y0 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                                  = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                               => ( Y2 = Y1 ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > term )
                                                                  @ ^ [Y0: subst > term > term] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                                    = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                                     => ( !! @ ( subst > term > term )
                                                                        @ ^ [Y1: subst > term > term] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                                          = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                                           => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                                = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                             => ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( ( Y1 @ Y2 @ Y3 )
                                                                                        = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                      = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                                 != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > term )
                                                                      @ ^ [Y0: subst > term > term] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y0: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                                     => ( ( !! @ ( subst > term > subst > $o )
                                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                                              ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y4: term] :
                                                                                                ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                               => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                             => ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                               => ( ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( ( var @ ( sub @ Y1 @ id ) )
                                                                                       => ( Y0 @ id @ Y1 @ id ) ) )
                                                                                 => ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( ( var @ Y1 )
                                                                                       => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                       => ( ( !! @ ( subst > term > subst > $o )
                                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                                ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ term
                                                                                              @ ^ [Y4: term] :
                                                                                                  ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                                 => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                               => ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y2: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ term
                                                                                                @ ^ [Y4: term] :
                                                                                                    ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                                   => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( Y0 @ id @ Y1 @ id )
                                                                                             => ( ( Y0 @ id @ Y2 @ id )
                                                                                               => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                                   => ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( Y0 @ id @ Y1 @ id )
                                                                                             => ( ( Y0 @ id @ Y2 @ id )
                                                                                               => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                                         => ( !! @ ( subst > term > subst > $o )
                                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                                ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y3: term] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                                 => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                               => ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y2: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ term
                                                                                                @ ^ [Y4: term] :
                                                                                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                                   => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                                 => ( ( !! @ ( subst > term > term )
                                                                                      @ ^ [Y1: subst > term > term] :
                                                                                          ( ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y3: subst] :
                                                                                                    ( !! @ subst
                                                                                                    @ ^ [Y4: subst] :
                                                                                                        ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                                        = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                                         => ( ( !! @ term
                                                                                              @ ^ [Y2: term] :
                                                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                                                 => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                           => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                                   => ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                                               => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                         => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f535,f540]) ).

thf(f540,plain,
    ( $true
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( ( sub @ one @ ( push @ Y0 @ Y1 ) )
              = Y0 ) ) ) ),
    inference(binary_proxy_clausification,[],[f535]) ).

thf(f535,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( ( sub @ one @ ( push @ Y0 @ Y1 ) )
                = Y0 ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( ( sub @ Y0 @ id )
              = Y0 ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( ( sub @ ( lam @ Y1 ) @ Y0 )
                    = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( sub @ Y1 @ ( comp @ Y0 @ Y2 ) )
                          = ( sub @ ( sub @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( ( comp @ id @ Y0 )
                    = Y0 ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                          = Y0 ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                                  = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( ( comp @ Y0 @ id )
                            = Y0 ) )
                     => ( ( id
                          = ( push @ one @ sh ) )
                       => ( ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                                = Y0 ) )
                         => ( ( var @ one )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( ( var @ Y0 )
                                   => ( var @ ( sub @ Y0 @ sh ) ) ) )
                             => ( ( !! @ ( term > $o )
                                  @ ^ [Y0: term > $o] :
                                      ( ( Y0 @ one )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( Y0 @ Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( ( ap @ Y2 @ Y3 )
                                                      = ( ap @ Y1 @ Y0 ) )
                                                   => ( Y2 = Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ Y2 @ Y3 )
                                                        = ( ap @ Y0 @ Y1 ) )
                                                     => ( Y3 = Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( ( lam @ Y1 )
                                                  = ( lam @ Y0 ) )
                                               => ( Y1 = Y0 ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( ( sub @ Y1 @ sh )
                                                    = ( sub @ Y0 @ sh ) )
                                                 => ( Y1 = Y0 ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( ap @ Y1 @ Y2 )
                                                       != ( lam @ Y0 ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ~ ( var @ ( lam @ Y0 ) ) )
                                             => ( ( !! @ ( term > $o )
                                                  @ ^ [Y0: term > $o] :
                                                      ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( var @ Y1 )
                                                           => ( Y0 @ Y1 ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( ( Y0 @ Y1 )
                                                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( Y0 @ Y1 )
                                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                         => ( !! @ term @ Y0 ) ) ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                               => ( ( Y0 @ Y1 )
                                                                 => ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                                 => ( ( !! @ ( term > $o )
                                                      @ ^ [Y0: term > $o] :
                                                          ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( ( Y0 @ Y1 )
                                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( var @ Y3 )
                                                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                     => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( term > $o )
                                                        @ ^ [Y0: term > $o] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( var @ Y1 )
                                                                 => ( Y0 @ Y1 ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y2 )
                                                                       => ( ( Y0 @ Y1 )
                                                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ Y2 )
                                                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                               => ( !! @ term @ Y0 ) ) ) ) )
                                                     => ( ( ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                        = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                                          & ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( ( comp @ id @ Y0 )
                                                                = Y0 ) )
                                                          & ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( ( comp @ Y0 @ id )
                                                                = Y0 ) ) )
                                                       => ( ( ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( ( sub @ Y0 @ id )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                          = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                                = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                             => ( Y2 = Y0 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                                  = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                               => ( Y2 = Y1 ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > term )
                                                                  @ ^ [Y0: subst > term > term] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                                    = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                                     => ( !! @ ( subst > term > term )
                                                                        @ ^ [Y1: subst > term > term] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                                          = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                                           => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                                = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                             => ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( ( Y1 @ Y2 @ Y3 )
                                                                                        = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                      = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                                 != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > term )
                                                                      @ ^ [Y0: subst > term > term] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y0: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                                     => ( ( !! @ ( subst > term > subst > $o )
                                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                                              ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y4: term] :
                                                                                                ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                               => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                             => ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                               => ( ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( ( var @ ( sub @ Y1 @ id ) )
                                                                                       => ( Y0 @ id @ Y1 @ id ) ) )
                                                                                 => ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( ( var @ Y1 )
                                                                                       => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                       => ( ( !! @ ( subst > term > subst > $o )
                                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                                ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ term
                                                                                              @ ^ [Y4: term] :
                                                                                                  ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                                 => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                               => ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y2: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ term
                                                                                                @ ^ [Y4: term] :
                                                                                                    ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                                   => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( Y0 @ id @ Y1 @ id )
                                                                                             => ( ( Y0 @ id @ Y2 @ id )
                                                                                               => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                                   => ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( Y0 @ id @ Y1 @ id )
                                                                                             => ( ( Y0 @ id @ Y2 @ id )
                                                                                               => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                                         => ( !! @ ( subst > term > subst > $o )
                                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                                ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y3: term] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                                 => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                               => ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y2: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ term
                                                                                                @ ^ [Y4: term] :
                                                                                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                                   => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                                 => ( ( !! @ ( subst > term > term )
                                                                                      @ ^ [Y1: subst > term > term] :
                                                                                          ( ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y3: subst] :
                                                                                                    ( !! @ subst
                                                                                                    @ ^ [Y4: subst] :
                                                                                                        ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                                        = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                                         => ( ( !! @ term
                                                                                              @ ^ [Y2: term] :
                                                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                                                 => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                           => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                                   => ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                                               => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                         => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f533]) ).

thf(f533,plain,
    ( $false
    = ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( ( sub @ one @ ( push @ Y0 @ Y1 ) )
                  = Y0 ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( sub @ Y0 @ id )
                = Y0 ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sub @ ( lam @ Y1 ) @ Y0 )
                      = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( sub @ Y1 @ ( comp @ Y0 @ Y2 ) )
                            = ( sub @ ( sub @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( comp @ id @ Y0 )
                      = Y0 ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                            = Y0 ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                  = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                                    = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( ( comp @ Y0 @ id )
                              = Y0 ) )
                       => ( ( id
                            = ( push @ one @ sh ) )
                         => ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                                  = Y0 ) )
                           => ( ( var @ one )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( ( var @ Y0 )
                                     => ( var @ ( sub @ Y0 @ sh ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( Y0 @ one )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ Y2 @ Y3 )
                                                        = ( ap @ Y1 @ Y0 ) )
                                                     => ( Y2 = Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ Y2 @ Y3 )
                                                          = ( ap @ Y0 @ Y1 ) )
                                                       => ( Y3 = Y1 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( ( lam @ Y1 )
                                                    = ( lam @ Y0 ) )
                                                 => ( Y1 = Y0 ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( ( sub @ Y1 @ sh )
                                                      = ( sub @ Y0 @ sh ) )
                                                   => ( Y1 = Y0 ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( ap @ Y1 @ Y2 )
                                                         != ( lam @ Y0 ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ~ ( var @ ( lam @ Y0 ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ Y1 )
                                                             => ( Y0 @ Y1 ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( ( Y0 @ Y1 )
                                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term @ Y0 ) ) ) ) )
                                                 => ( ( !! @ ( term > $o )
                                                      @ ^ [Y0: term > $o] :
                                                          ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                 => ( ( Y0 @ Y1 )
                                                                   => ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( var @ Y3 )
                                                                         => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( term > $o )
                                                        @ ^ [Y0: term > $o] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y2 )
                                                                     => ( ( Y0 @ Y1 )
                                                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( var @ Y3 )
                                                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                       => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                                     => ( ( !! @ ( term > $o )
                                                          @ ^ [Y0: term > $o] :
                                                              ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( var @ Y1 )
                                                                   => ( Y0 @ Y1 ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( ( Y0 @ Y1 )
                                                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ Y2 )
                                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                                 => ( !! @ term @ Y0 ) ) ) ) )
                                                       => ( ( ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                          = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ id @ Y0 )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ Y0 @ id )
                                                                  = Y0 ) ) )
                                                         => ( ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( ( sub @ Y0 @ id )
                                                                    = Y0 ) )
                                                              & ( !! @ subst
                                                                @ ^ [Y0: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                            = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                                  = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                               => ( Y2 = Y0 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y0: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                                    = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                                 => ( Y2 = Y1 ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                                      = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                                       => ( !! @ ( subst > term > term )
                                                                          @ ^ [Y1: subst > term > term] :
                                                                              ( ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                                            = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                                             => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                                  = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                               => ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y3: term] :
                                                                                          ( ( Y1 @ Y2 @ Y3 )
                                                                                          = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > term )
                                                                      @ ^ [Y0: subst > term > term] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > term )
                                                                        @ ^ [Y0: subst > term > term] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y0: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                                       => ( ( !! @ ( subst > term > subst > $o )
                                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                                ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ term
                                                                                              @ ^ [Y4: term] :
                                                                                                  ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                               => ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( ( var @ ( sub @ Y1 @ id ) )
                                                                                         => ( Y0 @ id @ Y1 @ id ) ) )
                                                                                   => ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( ( var @ Y1 )
                                                                                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                         => ( ( !! @ ( subst > term > subst > $o )
                                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                                  ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y2: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ term
                                                                                                @ ^ [Y4: term] :
                                                                                                    ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                                   => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                                 => ( ( !! @ subst
                                                                                      @ ^ [Y1: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y2: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y3: subst] :
                                                                                                  ( !! @ term
                                                                                                  @ ^ [Y4: term] :
                                                                                                      ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                                   => ( ( !! @ term
                                                                                        @ ^ [Y1: term] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( ( Y0 @ id @ Y1 @ id )
                                                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                                                 => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                                     => ( !! @ term
                                                                                        @ ^ [Y1: term] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( ( Y0 @ id @ Y1 @ id )
                                                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                                                 => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                                           => ( !! @ ( subst > term > subst > $o )
                                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                                  ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y2: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y3: term] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                                   => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                                 => ( ( !! @ subst
                                                                                      @ ^ [Y1: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y2: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y3: subst] :
                                                                                                  ( !! @ term
                                                                                                  @ ^ [Y4: term] :
                                                                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                                   => ( ( !! @ ( subst > term > term )
                                                                                        @ ^ [Y1: subst > term > term] :
                                                                                            ( ( !! @ term
                                                                                              @ ^ [Y2: term] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y3: subst] :
                                                                                                      ( !! @ subst
                                                                                                      @ ^ [Y4: subst] :
                                                                                                          ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                                          = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                                           => ( ( !! @ term
                                                                                                @ ^ [Y2: term] :
                                                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                             => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                                     => ( !! @ term
                                                                                        @ ^ [Y1: term] :
                                                                                            ( ( !! @ term
                                                                                              @ ^ [Y2: term] :
                                                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(backward_demodulation,[],[f528,f531]) ).

thf(f531,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( sub @ ( ap @ Y2 @ Y0 ) @ Y1 )
                  = ( ap @ ( sub @ Y2 @ Y1 ) @ ( sub @ Y0 @ Y1 ) ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f528]) ).

thf(f528,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( sub @ ( ap @ Y2 @ Y0 ) @ Y1 )
                    = ( ap @ ( sub @ Y2 @ Y1 ) @ ( sub @ Y0 @ Y1 ) ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( ( sub @ one @ ( push @ Y0 @ Y1 ) )
                  = Y0 ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( sub @ Y0 @ id )
                = Y0 ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sub @ ( lam @ Y1 ) @ Y0 )
                      = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( sub @ Y1 @ ( comp @ Y0 @ Y2 ) )
                            = ( sub @ ( sub @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( comp @ id @ Y0 )
                      = Y0 ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                            = Y0 ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                  = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                                    = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( ( comp @ Y0 @ id )
                              = Y0 ) )
                       => ( ( id
                            = ( push @ one @ sh ) )
                         => ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                                  = Y0 ) )
                           => ( ( var @ one )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( ( var @ Y0 )
                                     => ( var @ ( sub @ Y0 @ sh ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( Y0 @ one )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ Y2 @ Y3 )
                                                        = ( ap @ Y1 @ Y0 ) )
                                                     => ( Y2 = Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ Y2 @ Y3 )
                                                          = ( ap @ Y0 @ Y1 ) )
                                                       => ( Y3 = Y1 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( ( lam @ Y1 )
                                                    = ( lam @ Y0 ) )
                                                 => ( Y1 = Y0 ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( ( sub @ Y1 @ sh )
                                                      = ( sub @ Y0 @ sh ) )
                                                   => ( Y1 = Y0 ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( ap @ Y1 @ Y2 )
                                                         != ( lam @ Y0 ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ~ ( var @ ( lam @ Y0 ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ Y1 )
                                                             => ( Y0 @ Y1 ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( ( Y0 @ Y1 )
                                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term @ Y0 ) ) ) ) )
                                                 => ( ( !! @ ( term > $o )
                                                      @ ^ [Y0: term > $o] :
                                                          ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                 => ( ( Y0 @ Y1 )
                                                                   => ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( var @ Y3 )
                                                                         => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( term > $o )
                                                        @ ^ [Y0: term > $o] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y2 )
                                                                     => ( ( Y0 @ Y1 )
                                                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( var @ Y3 )
                                                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                       => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                                     => ( ( !! @ ( term > $o )
                                                          @ ^ [Y0: term > $o] :
                                                              ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( var @ Y1 )
                                                                   => ( Y0 @ Y1 ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( ( Y0 @ Y1 )
                                                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ Y2 )
                                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                                 => ( !! @ term @ Y0 ) ) ) ) )
                                                       => ( ( ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                          = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ id @ Y0 )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ Y0 @ id )
                                                                  = Y0 ) ) )
                                                         => ( ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( ( sub @ Y0 @ id )
                                                                    = Y0 ) )
                                                              & ( !! @ subst
                                                                @ ^ [Y0: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                            = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                                  = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                               => ( Y2 = Y0 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y0: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                                    = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                                 => ( Y2 = Y1 ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                                      = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                                       => ( !! @ ( subst > term > term )
                                                                          @ ^ [Y1: subst > term > term] :
                                                                              ( ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                                            = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                                             => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                                  = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                               => ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y3: term] :
                                                                                          ( ( Y1 @ Y2 @ Y3 )
                                                                                          = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > term )
                                                                      @ ^ [Y0: subst > term > term] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > term )
                                                                        @ ^ [Y0: subst > term > term] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y0: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                                       => ( ( !! @ ( subst > term > subst > $o )
                                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                                ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ term
                                                                                              @ ^ [Y4: term] :
                                                                                                  ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                               => ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( ( var @ ( sub @ Y1 @ id ) )
                                                                                         => ( Y0 @ id @ Y1 @ id ) ) )
                                                                                   => ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( ( var @ Y1 )
                                                                                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                         => ( ( !! @ ( subst > term > subst > $o )
                                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                                  ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y2: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ term
                                                                                                @ ^ [Y4: term] :
                                                                                                    ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                                   => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                                 => ( ( !! @ subst
                                                                                      @ ^ [Y1: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y2: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y3: subst] :
                                                                                                  ( !! @ term
                                                                                                  @ ^ [Y4: term] :
                                                                                                      ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                                   => ( ( !! @ term
                                                                                        @ ^ [Y1: term] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( ( Y0 @ id @ Y1 @ id )
                                                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                                                 => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                                     => ( !! @ term
                                                                                        @ ^ [Y1: term] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( ( Y0 @ id @ Y1 @ id )
                                                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                                                 => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                                           => ( !! @ ( subst > term > subst > $o )
                                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                                  ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y2: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y3: term] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                                   => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                                 => ( ( !! @ subst
                                                                                      @ ^ [Y1: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y2: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y3: subst] :
                                                                                                  ( !! @ term
                                                                                                  @ ^ [Y4: term] :
                                                                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                                   => ( ( !! @ ( subst > term > term )
                                                                                        @ ^ [Y1: subst > term > term] :
                                                                                            ( ( !! @ term
                                                                                              @ ^ [Y2: term] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y3: subst] :
                                                                                                      ( !! @ subst
                                                                                                      @ ^ [Y4: subst] :
                                                                                                          ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                                          = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                                           => ( ( !! @ term
                                                                                                @ ^ [Y2: term] :
                                                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                             => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                                     => ( !! @ term
                                                                                        @ ^ [Y1: term] :
                                                                                            ( ( !! @ term
                                                                                              @ ^ [Y2: term] :
                                                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(not_proxy_clausification,[],[f527]) ).

thf(f527,plain,
    ( ( ~ ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( sub @ ( ap @ Y2 @ Y0 ) @ Y1 )
                        = ( ap @ ( sub @ Y2 @ Y1 ) @ ( sub @ Y0 @ Y1 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( ( sub @ one @ ( push @ Y0 @ Y1 ) )
                      = Y0 ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( ( sub @ Y0 @ id )
                    = Y0 ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( sub @ ( lam @ Y1 ) @ Y0 )
                          = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( sub @ Y1 @ ( comp @ Y0 @ Y2 ) )
                                = ( sub @ ( sub @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( ( comp @ id @ Y0 )
                          = Y0 ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                                = Y0 ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                      = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                                        = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
                         => ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( ( comp @ Y0 @ id )
                                  = Y0 ) )
                           => ( ( id
                                = ( push @ one @ sh ) )
                             => ( ( !! @ subst
                                  @ ^ [Y0: subst] :
                                      ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                                      = Y0 ) )
                               => ( ( var @ one )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( ( var @ Y0 )
                                         => ( var @ ( sub @ Y0 @ sh ) ) ) )
                                   => ( ( !! @ ( term > $o )
                                        @ ^ [Y0: term > $o] :
                                            ( ( Y0 @ one )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( var @ Y1 )
                                                   => ( ( Y0 @ Y1 )
                                                     => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( var @ Y1 )
                                                   => ( Y0 @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( ( ap @ Y2 @ Y3 )
                                                            = ( ap @ Y1 @ Y0 ) )
                                                         => ( Y2 = Y1 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( ( ap @ Y2 @ Y3 )
                                                              = ( ap @ Y0 @ Y1 ) )
                                                           => ( Y3 = Y1 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( ( lam @ Y1 )
                                                        = ( lam @ Y0 ) )
                                                     => ( Y1 = Y0 ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( ( sub @ Y1 @ sh )
                                                          = ( sub @ Y0 @ sh ) )
                                                       => ( Y1 = Y0 ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( ap @ Y1 @ Y2 )
                                                             != ( lam @ Y0 ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ~ ( var @ ( lam @ Y0 ) ) )
                                                   => ( ( !! @ ( term > $o )
                                                        @ ^ [Y0: term > $o] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( var @ Y1 )
                                                                 => ( Y0 @ Y1 ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y2 )
                                                                       => ( ( Y0 @ Y1 )
                                                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( Y0 @ Y1 )
                                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                               => ( !! @ term @ Y0 ) ) ) ) )
                                                     => ( ( !! @ ( term > $o )
                                                          @ ^ [Y0: term > $o] :
                                                              ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( var @ Y3 )
                                                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                     => ( ( Y0 @ Y1 )
                                                                       => ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( var @ Y3 )
                                                                             => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                                       => ( ( !! @ ( term > $o )
                                                            @ ^ [Y0: term > $o] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( ( Y0 @ Y1 )
                                                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ Y2 )
                                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( var @ Y3 )
                                                                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                           => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                                         => ( ( !! @ ( term > $o )
                                                              @ ^ [Y0: term > $o] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( var @ Y1 )
                                                                       => ( Y0 @ Y1 ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ Y2 )
                                                                             => ( ( Y0 @ Y1 )
                                                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y0 @ Y2 )
                                                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                                     => ( !! @ term @ Y0 ) ) ) ) )
                                                           => ( ( ( !! @ subst
                                                                  @ ^ [Y0: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                              = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                                                & ( !! @ subst
                                                                  @ ^ [Y0: subst] :
                                                                      ( ( comp @ id @ Y0 )
                                                                      = Y0 ) )
                                                                & ( !! @ subst
                                                                  @ ^ [Y0: subst] :
                                                                      ( ( comp @ Y0 @ id )
                                                                      = Y0 ) ) )
                                                             => ( ( ( !! @ term
                                                                    @ ^ [Y0: term] :
                                                                        ( ( sub @ Y0 @ id )
                                                                        = Y0 ) )
                                                                  & ( !! @ subst
                                                                    @ ^ [Y0: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                                = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y0: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                                      = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                                   => ( Y2 = Y0 ) ) ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y0: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                                        = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                                     => ( Y2 = Y1 ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > term )
                                                                        @ ^ [Y0: subst > term > term] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                                          = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                                           => ( !! @ ( subst > term > term )
                                                                              @ ^ [Y1: subst > term > term] :
                                                                                  ( ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y3: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                                                = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                                                 => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                                      = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                                   => ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y3: term] :
                                                                                              ( ( Y1 @ Y2 @ Y3 )
                                                                                              = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                                     => ( ( !! @ ( subst > term > term )
                                                                          @ ^ [Y0: subst > term > term] :
                                                                              ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y3: term] :
                                                                                            ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                            = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                                       => ( ( !! @ ( subst > term > term )
                                                                            @ ^ [Y0: subst > term > term] :
                                                                                ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                                         => ( ( !! @ term
                                                                              @ ^ [Y0: term] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                                           => ( ( !! @ ( subst > term > subst > $o )
                                                                                @ ^ [Y0: subst > term > subst > $o] :
                                                                                    ( ( !! @ subst
                                                                                      @ ^ [Y1: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y2: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y3: subst] :
                                                                                                  ( !! @ term
                                                                                                  @ ^ [Y4: term] :
                                                                                                      ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                                   => ( ( !! @ subst
                                                                                        @ ^ [Y1: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y3: subst] :
                                                                                                    ( !! @ subst
                                                                                                    @ ^ [Y4: subst] :
                                                                                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                                     => ( ( !! @ term
                                                                                          @ ^ [Y1: term] :
                                                                                              ( ( var @ ( sub @ Y1 @ id ) )
                                                                                             => ( Y0 @ id @ Y1 @ id ) ) )
                                                                                       => ( !! @ term
                                                                                          @ ^ [Y1: term] :
                                                                                              ( ( var @ Y1 )
                                                                                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                             => ( ( !! @ ( subst > term > subst > $o )
                                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                                      ( ( !! @ subst
                                                                                        @ ^ [Y1: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y2: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y3: subst] :
                                                                                                    ( !! @ term
                                                                                                    @ ^ [Y4: term] :
                                                                                                        ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                                       => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                                     => ( ( !! @ subst
                                                                                          @ ^ [Y1: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y2: subst] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y3: subst] :
                                                                                                      ( !! @ term
                                                                                                      @ ^ [Y4: term] :
                                                                                                          ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                                       => ( ( !! @ term
                                                                                            @ ^ [Y1: term] :
                                                                                                ( !! @ term
                                                                                                @ ^ [Y2: term] :
                                                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                                                     => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                                         => ( !! @ term
                                                                                            @ ^ [Y1: term] :
                                                                                                ( !! @ term
                                                                                                @ ^ [Y2: term] :
                                                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                                                     => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                                               => ( !! @ ( subst > term > subst > $o )
                                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                                      ( ( !! @ subst
                                                                                        @ ^ [Y1: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y2: subst] :
                                                                                                ( !! @ term
                                                                                                @ ^ [Y3: term] :
                                                                                                    ( !! @ subst
                                                                                                    @ ^ [Y4: subst] :
                                                                                                        ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                                       => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                                     => ( ( !! @ subst
                                                                                          @ ^ [Y1: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y2: subst] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y3: subst] :
                                                                                                      ( !! @ term
                                                                                                      @ ^ [Y4: term] :
                                                                                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                                       => ( ( !! @ ( subst > term > term )
                                                                                            @ ^ [Y1: subst > term > term] :
                                                                                                ( ( !! @ term
                                                                                                  @ ^ [Y2: term] :
                                                                                                      ( !! @ subst
                                                                                                      @ ^ [Y3: subst] :
                                                                                                          ( !! @ subst
                                                                                                          @ ^ [Y4: subst] :
                                                                                                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                                               => ( ( !! @ term
                                                                                                    @ ^ [Y2: term] :
                                                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                                 => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                                         => ( !! @ term
                                                                                            @ ^ [Y1: term] :
                                                                                                ( ( !! @ term
                                                                                                  @ ^ [Y2: term] :
                                                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $true ),
    inference(beta_eta_normalization,[],[f526]) ).

thf(f526,plain,
    ( ( ~ ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( sub @ ( ap @ Y2 @ Y0 ) @ Y1 )
                        = ( ap @ ( sub @ Y2 @ Y1 ) @ ( sub @ Y0 @ Y1 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( ( sub @ one @ ( push @ Y0 @ Y1 ) )
                      = Y0 ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( ( sub @ Y0 @ id )
                    = Y0 ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( sub @ ( lam @ Y1 ) @ Y0 )
                          = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( sub @ Y1 @ ( comp @ Y0 @ Y2 ) )
                                = ( sub @ ( sub @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( ( comp @ id @ Y0 )
                          = Y0 ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                                = Y0 ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                      = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                                        = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
                         => ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( ( comp @ Y0 @ id )
                                  = Y0 ) )
                           => ( ( id
                                = ( push @ one @ sh ) )
                             => ( ( !! @ subst
                                  @ ^ [Y0: subst] :
                                      ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                                      = Y0 ) )
                               => ( ( var @ one )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( ( var @ Y0 )
                                         => ( var @ ( sub @ Y0 @ sh ) ) ) )
                                   => ( ( !! @ ( term > $o )
                                        @ ^ [Y0: term > $o] :
                                            ( ( Y0 @ one )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( var @ Y1 )
                                                   => ( ( Y0 @ Y1 )
                                                     => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( var @ Y1 )
                                                   => ( Y0 @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( ( ap @ Y2 @ Y3 )
                                                            = ( ap @ Y1 @ Y0 ) )
                                                         => ( Y2 = Y1 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( ( ap @ Y2 @ Y3 )
                                                              = ( ap @ Y0 @ Y1 ) )
                                                           => ( Y3 = Y1 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( ( lam @ Y1 )
                                                        = ( lam @ Y0 ) )
                                                     => ( Y1 = Y0 ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( ( sub @ Y1 @ sh )
                                                          = ( sub @ Y0 @ sh ) )
                                                       => ( Y1 = Y0 ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( ap @ Y1 @ Y2 )
                                                             != ( lam @ Y0 ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ~ ( var @ ( lam @ Y0 ) ) )
                                                   => ( ( !! @ ( term > $o )
                                                        @ ^ [Y0: term > $o] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( var @ Y1 )
                                                                 => ( Y0 @ Y1 ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y2 )
                                                                       => ( ( Y0 @ Y1 )
                                                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( Y0 @ Y1 )
                                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                                     => ( ( !! @ ( term > $o )
                                                          @ ^ [Y0: term > $o] :
                                                              ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( var @ Y3 )
                                                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                     => ( ( Y0 @ Y1 )
                                                                       => ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( var @ Y3 )
                                                                             => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                                       => ( ( !! @ ( term > $o )
                                                            @ ^ [Y0: term > $o] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( ( Y0 @ Y1 )
                                                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ Y2 )
                                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( var @ Y3 )
                                                                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                           => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                                         => ( ( !! @ ( term > $o )
                                                              @ ^ [Y0: term > $o] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( var @ Y1 )
                                                                       => ( Y0 @ Y1 ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ Y2 )
                                                                             => ( ( Y0 @ Y1 )
                                                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y0 @ Y2 )
                                                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                                           => ( ( ( !! @ subst
                                                                  @ ^ [Y0: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                              = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                                                & ( !! @ subst
                                                                  @ ^ [Y0: subst] :
                                                                      ( ( comp @ id @ Y0 )
                                                                      = Y0 ) )
                                                                & ( !! @ subst
                                                                  @ ^ [Y0: subst] :
                                                                      ( ( comp @ Y0 @ id )
                                                                      = Y0 ) ) )
                                                             => ( ( ( !! @ term
                                                                    @ ^ [Y0: term] :
                                                                        ( ( sub @ Y0 @ id )
                                                                        = Y0 ) )
                                                                  & ( !! @ subst
                                                                    @ ^ [Y0: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                                = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y0: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( ( ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                        @ id
                                                                                        @ Y2
                                                                                        @ id
                                                                                        @ Y3 )
                                                                                      = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                        @ id
                                                                                        @ Y0
                                                                                        @ id
                                                                                        @ Y1 ) )
                                                                                   => ( Y2 = Y0 ) ) ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y0: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( ( ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                          @ id
                                                                                          @ Y3
                                                                                          @ id
                                                                                          @ Y2 )
                                                                                        = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                          @ id
                                                                                          @ Y0
                                                                                          @ id
                                                                                          @ Y1 ) )
                                                                                     => ( Y2 = Y1 ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > term )
                                                                        @ ^ [Y0: subst > term > term] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                                          = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                                           => ( !! @ ( subst > term > term )
                                                                              @ ^ [Y1: subst > term > term] :
                                                                                  ( ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y3: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                                                = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                                                 => ( ( ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                                                                                        @ id
                                                                                        @ ^ [Y2: subst,Y3: term] : ( Y0 @ Y2 @ Y3 ) )
                                                                                      = ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                                                                                        @ id
                                                                                        @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) ) )
                                                                                   => ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y3: term] :
                                                                                              ( ( Y1 @ Y2 @ Y3 )
                                                                                              = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                                     => ( ( !! @ ( subst > term > term )
                                                                          @ ^ [Y0: subst > term > term] :
                                                                              ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y3: term] :
                                                                                            ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                            = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( ^ [Y3: subst,Y4: term,Y5: subst,Y6: term] : ( ap @ ( sub @ Y4 @ Y5 ) @ Y6 )
                                                                                          @ id
                                                                                          @ Y2
                                                                                          @ id
                                                                                          @ Y1 )
                                                                                       != ( ^ [Y3: subst,Y4: subst > term > term] : ( lam @ ( Y4 @ sh @ one ) )
                                                                                          @ id
                                                                                          @ ^ [Y3: subst,Y4: term] : ( Y0 @ Y3 @ Y4 ) ) ) ) ) ) )
                                                                       => ( ( !! @ ( subst > term > term )
                                                                            @ ^ [Y0: subst > term > term] :
                                                                                ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                               => ~ ( ^ [Y1: subst,Y2: term,Y3: subst] : ( var @ ( sub @ Y2 @ Y3 ) )
                                                                                    @ id
                                                                                    @ ( ^ [Y1: subst,Y2: subst > term > term] : ( lam @ ( Y2 @ sh @ one ) )
                                                                                      @ id
                                                                                      @ ^ [Y1: subst,Y2: term] : ( Y0 @ Y1 @ Y2 ) )
                                                                                    @ id ) ) )
                                                                         => ( ( !! @ term
                                                                              @ ^ [Y0: term] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ~ ( ^ [Y2: subst,Y3: term,Y4: subst] : ( var @ ( sub @ Y3 @ Y4 ) )
                                                                                        @ id
                                                                                        @ ( ^ [Y2: subst,Y3: term,Y4: subst,Y5: term] : ( ap @ ( sub @ Y3 @ Y4 ) @ Y5 )
                                                                                          @ id
                                                                                          @ Y0
                                                                                          @ id
                                                                                          @ Y1 )
                                                                                        @ id ) ) )
                                                                           => ( ( !! @ ( subst > term > subst > $o )
                                                                                @ ^ [Y0: subst > term > subst > $o] :
                                                                                    ( ( !! @ subst
                                                                                      @ ^ [Y1: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y2: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y3: subst] :
                                                                                                  ( !! @ term
                                                                                                  @ ^ [Y4: term] :
                                                                                                      ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                                   => ( ( !! @ subst
                                                                                        @ ^ [Y1: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y3: subst] :
                                                                                                    ( !! @ subst
                                                                                                    @ ^ [Y4: subst] :
                                                                                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                                     => ( ( !! @ term
                                                                                          @ ^ [Y1: term] :
                                                                                              ( ( ^ [Y2: subst,Y3: term,Y4: subst] : ( var @ ( sub @ Y3 @ Y4 ) )
                                                                                                @ id
                                                                                                @ Y1
                                                                                                @ id )
                                                                                             => ( Y0 @ id @ Y1 @ id ) ) )
                                                                                       => ( !! @ term
                                                                                          @ ^ [Y1: term] :
                                                                                              ( ( var @ Y1 )
                                                                                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                             => ( ( !! @ ( subst > term > subst > $o )
                                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                                      ( ( !! @ subst
                                                                                        @ ^ [Y1: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y2: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y3: subst] :
                                                                                                    ( !! @ term
                                                                                                    @ ^ [Y4: term] :
                                                                                                        ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                                       => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                                     => ( ( !! @ subst
                                                                                          @ ^ [Y1: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y2: subst] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y3: subst] :
                                                                                                      ( !! @ term
                                                                                                      @ ^ [Y4: term] :
                                                                                                          ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                                       => ( ( !! @ term
                                                                                            @ ^ [Y1: term] :
                                                                                                ( !! @ term
                                                                                                @ ^ [Y2: term] :
                                                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                                                     => ( Y0 @ id
                                                                                                        @ ( ^ [Y3: subst,Y4: term,Y5: subst,Y6: term] : ( ap @ ( sub @ Y4 @ Y5 ) @ Y6 )
                                                                                                          @ id
                                                                                                          @ Y1
                                                                                                          @ id
                                                                                                          @ Y2 )
                                                                                                        @ id ) ) ) ) )
                                                                                         => ( !! @ term
                                                                                            @ ^ [Y1: term] :
                                                                                                ( !! @ term
                                                                                                @ ^ [Y2: term] :
                                                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                                                     => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                                               => ( !! @ ( subst > term > subst > $o )
                                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                                      ( ( !! @ subst
                                                                                        @ ^ [Y1: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y2: subst] :
                                                                                                ( !! @ term
                                                                                                @ ^ [Y3: term] :
                                                                                                    ( !! @ subst
                                                                                                    @ ^ [Y4: subst] :
                                                                                                        ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                                       => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                                     => ( ( !! @ subst
                                                                                          @ ^ [Y1: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y2: subst] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y3: subst] :
                                                                                                      ( !! @ term
                                                                                                      @ ^ [Y4: term] :
                                                                                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                                       => ( ( !! @ ( subst > term > term )
                                                                                            @ ^ [Y1: subst > term > term] :
                                                                                                ( ( !! @ term
                                                                                                  @ ^ [Y2: term] :
                                                                                                      ( !! @ subst
                                                                                                      @ ^ [Y3: subst] :
                                                                                                          ( !! @ subst
                                                                                                          @ ^ [Y4: subst] :
                                                                                                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                                               => ( ( !! @ term
                                                                                                    @ ^ [Y2: term] :
                                                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                                 => ( Y0 @ id
                                                                                                    @ ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                                                                                                      @ id
                                                                                                      @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) )
                                                                                                    @ id ) ) ) )
                                                                                         => ( !! @ term
                                                                                            @ ^ [Y1: term] :
                                                                                                ( ( !! @ term
                                                                                                  @ ^ [Y2: term] :
                                                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $true ),
    inference(definition_unfolding,[],[f431,f514]) ).

thf(f514,plain,
    ( hoasinduction_lem3_gthm
    = ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( sub @ ( ap @ Y2 @ Y0 ) @ Y1 )
                    = ( ap @ ( sub @ Y2 @ Y1 ) @ ( sub @ Y0 @ Y1 ) ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( ( sub @ one @ ( push @ Y0 @ Y1 ) )
                  = Y0 ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( sub @ Y0 @ id )
                = Y0 ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sub @ ( lam @ Y1 ) @ Y0 )
                      = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( sub @ Y1 @ ( comp @ Y0 @ Y2 ) )
                            = ( sub @ ( sub @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( comp @ id @ Y0 )
                      = Y0 ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                            = Y0 ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                  = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                                    = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( ( comp @ Y0 @ id )
                              = Y0 ) )
                       => ( ( id
                            = ( push @ one @ sh ) )
                         => ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                                  = Y0 ) )
                           => ( ( var @ one )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( ( var @ Y0 )
                                     => ( var @ ( sub @ Y0 @ sh ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( Y0 @ one )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ Y2 @ Y3 )
                                                        = ( ap @ Y1 @ Y0 ) )
                                                     => ( Y2 = Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ Y2 @ Y3 )
                                                          = ( ap @ Y0 @ Y1 ) )
                                                       => ( Y3 = Y1 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( ( lam @ Y1 )
                                                    = ( lam @ Y0 ) )
                                                 => ( Y1 = Y0 ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( ( sub @ Y1 @ sh )
                                                      = ( sub @ Y0 @ sh ) )
                                                   => ( Y1 = Y0 ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( ap @ Y1 @ Y2 )
                                                         != ( lam @ Y0 ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ~ ( var @ ( lam @ Y0 ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ Y1 )
                                                             => ( Y0 @ Y1 ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( ( Y0 @ Y1 )
                                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                                 => ( ( !! @ ( term > $o )
                                                      @ ^ [Y0: term > $o] :
                                                          ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                 => ( ( Y0 @ Y1 )
                                                                   => ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( var @ Y3 )
                                                                         => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( term > $o )
                                                        @ ^ [Y0: term > $o] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y2 )
                                                                     => ( ( Y0 @ Y1 )
                                                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( var @ Y3 )
                                                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                       => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                                     => ( ( !! @ ( term > $o )
                                                          @ ^ [Y0: term > $o] :
                                                              ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( var @ Y1 )
                                                                   => ( Y0 @ Y1 ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( ( Y0 @ Y1 )
                                                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ Y2 )
                                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                                       => ( ( ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                          = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ id @ Y0 )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ Y0 @ id )
                                                                  = Y0 ) ) )
                                                         => ( ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( ( sub @ Y0 @ id )
                                                                    = Y0 ) )
                                                              & ( !! @ subst
                                                                @ ^ [Y0: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                            = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( ( ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                    @ id
                                                                                    @ Y2
                                                                                    @ id
                                                                                    @ Y3 )
                                                                                  = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                    @ id
                                                                                    @ Y0
                                                                                    @ id
                                                                                    @ Y1 ) )
                                                                               => ( Y2 = Y0 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y0: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                      @ id
                                                                                      @ Y3
                                                                                      @ id
                                                                                      @ Y2 )
                                                                                    = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                      @ id
                                                                                      @ Y0
                                                                                      @ id
                                                                                      @ Y1 ) )
                                                                                 => ( Y2 = Y1 ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                                      = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                                       => ( !! @ ( subst > term > term )
                                                                          @ ^ [Y1: subst > term > term] :
                                                                              ( ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                                            = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                                             => ( ( ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                                                                                    @ id
                                                                                    @ ^ [Y2: subst,Y3: term] : ( Y0 @ Y2 @ Y3 ) )
                                                                                  = ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                                                                                    @ id
                                                                                    @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) ) )
                                                                               => ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y3: term] :
                                                                                          ( ( Y1 @ Y2 @ Y3 )
                                                                                          = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > term )
                                                                      @ ^ [Y0: subst > term > term] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( ^ [Y3: subst,Y4: term,Y5: subst,Y6: term] : ( ap @ ( sub @ Y4 @ Y5 ) @ Y6 )
                                                                                      @ id
                                                                                      @ Y2
                                                                                      @ id
                                                                                      @ Y1 )
                                                                                   != ( ^ [Y3: subst,Y4: subst > term > term] : ( lam @ ( Y4 @ sh @ one ) )
                                                                                      @ id
                                                                                      @ ^ [Y3: subst,Y4: term] : ( Y0 @ Y3 @ Y4 ) ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > term )
                                                                        @ ^ [Y0: subst > term > term] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                           => ~ ( ^ [Y1: subst,Y2: term,Y3: subst] : ( var @ ( sub @ Y2 @ Y3 ) )
                                                                                @ id
                                                                                @ ( ^ [Y1: subst,Y2: subst > term > term] : ( lam @ ( Y2 @ sh @ one ) )
                                                                                  @ id
                                                                                  @ ^ [Y1: subst,Y2: term] : ( Y0 @ Y1 @ Y2 ) )
                                                                                @ id ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y0: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ~ ( ^ [Y2: subst,Y3: term,Y4: subst] : ( var @ ( sub @ Y3 @ Y4 ) )
                                                                                    @ id
                                                                                    @ ( ^ [Y2: subst,Y3: term,Y4: subst,Y5: term] : ( ap @ ( sub @ Y3 @ Y4 ) @ Y5 )
                                                                                      @ id
                                                                                      @ Y0
                                                                                      @ id
                                                                                      @ Y1 )
                                                                                    @ id ) ) )
                                                                       => ( ( !! @ ( subst > term > subst > $o )
                                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                                ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ term
                                                                                              @ ^ [Y4: term] :
                                                                                                  ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                                               => ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( ( ^ [Y2: subst,Y3: term,Y4: subst] : ( var @ ( sub @ Y3 @ Y4 ) )
                                                                                            @ id
                                                                                            @ Y1
                                                                                            @ id )
                                                                                         => ( Y0 @ id @ Y1 @ id ) ) )
                                                                                   => ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( ( var @ Y1 )
                                                                                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                         => ( ( !! @ ( subst > term > subst > $o )
                                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                                  ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y2: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ term
                                                                                                @ ^ [Y4: term] :
                                                                                                    ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                                   => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                                 => ( ( !! @ subst
                                                                                      @ ^ [Y1: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y2: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y3: subst] :
                                                                                                  ( !! @ term
                                                                                                  @ ^ [Y4: term] :
                                                                                                      ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                                   => ( ( !! @ term
                                                                                        @ ^ [Y1: term] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( ( Y0 @ id @ Y1 @ id )
                                                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                                                 => ( Y0 @ id
                                                                                                    @ ( ^ [Y3: subst,Y4: term,Y5: subst,Y6: term] : ( ap @ ( sub @ Y4 @ Y5 ) @ Y6 )
                                                                                                      @ id
                                                                                                      @ Y1
                                                                                                      @ id
                                                                                                      @ Y2 )
                                                                                                    @ id ) ) ) ) )
                                                                                     => ( !! @ term
                                                                                        @ ^ [Y1: term] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( ( Y0 @ id @ Y1 @ id )
                                                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                                                 => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                                           => ( !! @ ( subst > term > subst > $o )
                                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                                  ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y2: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y3: term] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                                   => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                                 => ( ( !! @ subst
                                                                                      @ ^ [Y1: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y2: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y3: subst] :
                                                                                                  ( !! @ term
                                                                                                  @ ^ [Y4: term] :
                                                                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                                   => ( ( !! @ ( subst > term > term )
                                                                                        @ ^ [Y1: subst > term > term] :
                                                                                            ( ( !! @ term
                                                                                              @ ^ [Y2: term] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y3: subst] :
                                                                                                      ( !! @ subst
                                                                                                      @ ^ [Y4: subst] :
                                                                                                          ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                                          = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                                           => ( ( !! @ term
                                                                                                @ ^ [Y2: term] :
                                                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                             => ( Y0 @ id
                                                                                                @ ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                                                                                                  @ id
                                                                                                  @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) )
                                                                                                @ id ) ) ) )
                                                                                     => ( !! @ term
                                                                                        @ ^ [Y1: term] :
                                                                                            ( ( !! @ term
                                                                                              @ ^ [Y2: term] :
                                                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f415,f435,f370,f357,f338,f412,f345,f372,f352,f349,f408,f448,f390,f409,f424,f423,f396,f406,f378,f388,f377,f426,f430,f347,f387,f397,f337,f354,f399,f454,f455,f456,f457,f458,f459,f467,f468,f469]) ).

thf(f469,plain,
    ( hoasinduction_lem3
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                           => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ term
                          @ ^ [Y4: term] :
                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y1: subst > term > term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y2 @ id )
                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                     => ( Y0 @ id
                        @ ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                          @ id
                          @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) )
                        @ id ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f414,f362]) ).

thf(f362,plain,
    ( hoaslam
    = ( ^ [Y0: subst,Y1: subst > term > term] : ( lam @ ( Y1 @ sh @ one ) ) ) ),
    inference(cnf_transformation,[],[f281]) ).

thf(f281,plain,
    ( hoaslam
    = ( ^ [Y0: subst,Y1: subst > term > term] : ( lam @ ( Y1 @ sh @ one ) ) ) ),
    inference(fool_elimination,[],[f280]) ).

thf(f280,plain,
    ( hoaslam
    = ( ^ [X0: subst,X1: subst > term > term] : ( lam @ ( X1 @ sh @ one ) ) ) ),
    inference(rectify,[],[f56]) ).

thf(f56,axiom,
    ( hoaslam
    = ( ^ [X2: subst,X10: subst > term > term] : ( lam @ ( X10 @ sh @ one ) ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',hoaslam) ).

thf(f414,plain,
    ( hoasinduction_lem3
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                           => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ term
                          @ ^ [Y4: term] :
                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y1: subst > term > term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y2 @ id )
                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                     => ( Y0 @ id
                        @ ( hoaslam @ id
                          @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) )
                        @ id ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f266]) ).

thf(f266,plain,
    ( hoasinduction_lem3
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                           => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ term
                          @ ^ [Y4: term] :
                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y1: subst > term > term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y2 @ id )
                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                     => ( Y0 @ id
                        @ ( hoaslam @ id
                          @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) )
                        @ id ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f265]) ).

thf(f265,plain,
    ! [X0: subst > term > subst > $o] :
      ( ( ! [X1: subst,X2: term,X3: subst,X4: subst] :
            ( ( X0 @ X1 @ X2 @ ( comp @ X3 @ X4 ) )
           => ( X0 @ ( comp @ X1 @ X3 ) @ ( sub @ X2 @ X3 ) @ X4 ) )
       => ( ! [X5: term,X6: subst,X7: subst,X8: subst] :
              ( ( X0 @ ( comp @ X8 @ X7 ) @ ( sub @ X5 @ X7 ) @ X6 )
             => ( X0 @ X8 @ X5 @ ( comp @ X7 @ X6 ) ) )
         => ( ! [X9: subst > term > term] :
                ( ! [X10: subst,X11: subst,X12: term] :
                    ( ( sub @ ( X9 @ X11 @ X12 ) @ X10 )
                    = ( X9 @ ( comp @ X11 @ X10 ) @ ( sub @ X12 @ X10 ) ) )
               => ( ! [X13: term] :
                      ( ( X0 @ id @ X13 @ id )
                     => ( X0 @ id @ ( X9 @ id @ X13 ) @ id ) )
                 => ( X0 @ id
                    @ ( hoaslam @ id
                      @ ^ [X14: subst,X15: term] : ( X9 @ X14 @ X15 ) )
                    @ id ) ) )
           => ! [X16: term] :
                ( ! [X17: term] :
                    ( ( X0 @ id @ X17 @ id )
                   => ( X0 @ id @ ( sub @ X16 @ ( push @ X17 @ id ) ) @ id ) )
               => ( X0 @ id @ ( lam @ X16 ) @ id ) ) ) ) )
      = hoasinduction_lem3 ),
    inference(rectify,[],[f99]) ).

thf(f99,axiom,
    ! [X5: subst > term > subst > $o] :
      ( ( ! [X2: subst,X0: term,X4: subst,X3: subst] :
            ( ( X5 @ X2 @ X0 @ ( comp @ X4 @ X3 ) )
           => ( X5 @ ( comp @ X2 @ X4 ) @ ( sub @ X0 @ X4 ) @ X3 ) )
       => ( ! [X0: term,X3: subst,X4: subst,X2: subst] :
              ( ( X5 @ ( comp @ X2 @ X4 ) @ ( sub @ X0 @ X4 ) @ X3 )
             => ( X5 @ X2 @ X0 @ ( comp @ X4 @ X3 ) ) )
         => ( ! [X10: subst > term > term] :
                ( ! [X3: subst,X2: subst,X0: term] :
                    ( ( sub @ ( X10 @ X2 @ X0 ) @ X3 )
                    = ( X10 @ ( comp @ X2 @ X3 ) @ ( sub @ X0 @ X3 ) ) )
               => ( ! [X0: term] :
                      ( ( X5 @ id @ X0 @ id )
                     => ( X5 @ id @ ( X10 @ id @ X0 ) @ id ) )
                 => ( X5 @ id
                    @ ( hoaslam @ id
                      @ ^ [X2: subst,X0: term] : ( X10 @ X2 @ X0 ) )
                    @ id ) ) )
           => ! [X0: term] :
                ( ! [X1: term] :
                    ( ( X5 @ id @ X1 @ id )
                   => ( X5 @ id @ ( sub @ X0 @ ( push @ X1 @ id ) ) @ id ) )
               => ( X5 @ id @ ( lam @ X0 ) @ id ) ) ) ) )
      = hoasinduction_lem3 ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',hoasinduction_lem3) ).

thf(f468,plain,
    ( hoasinduction_lem2
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( !! @ term
                        @ ^ [Y4: term] :
                            ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                           => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ term
                          @ ^ [Y4: term] :
                              ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ id @ Y1 @ id )
                       => ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id
                            @ ( ^ [Y3: subst,Y4: term,Y5: subst,Y6: term] : ( ap @ ( sub @ Y4 @ Y5 ) @ Y6 )
                              @ id
                              @ Y1
                              @ id
                              @ Y2 )
                            @ id ) ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ id @ Y1 @ id )
                       => ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f383,f386]) ).

thf(f386,plain,
    ( hoasap
    = ( ^ [Y0: subst,Y1: term,Y2: subst,Y3: term] : ( ap @ ( sub @ Y1 @ Y2 ) @ Y3 ) ) ),
    inference(cnf_transformation,[],[f136]) ).

thf(f136,plain,
    ( hoasap
    = ( ^ [Y0: subst,Y1: term,Y2: subst,Y3: term] : ( ap @ ( sub @ Y1 @ Y2 ) @ Y3 ) ) ),
    inference(fool_elimination,[],[f135]) ).

thf(f135,plain,
    ( hoasap
    = ( ^ [X0: subst,X1: term,X2: subst,X3: term] : ( ap @ ( sub @ X1 @ X2 ) @ X3 ) ) ),
    inference(rectify,[],[f55]) ).

thf(f55,axiom,
    ( hoasap
    = ( ^ [X2: subst,X0: term,X3: subst,X1: term] : ( ap @ ( sub @ X0 @ X3 ) @ X1 ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',hoasap) ).

thf(f383,plain,
    ( hoasinduction_lem2
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( !! @ term
                        @ ^ [Y4: term] :
                            ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                           => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ term
                          @ ^ [Y4: term] :
                              ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ id @ Y1 @ id )
                       => ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id @ ( hoasap @ id @ Y1 @ id @ Y2 ) @ id ) ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ id @ Y1 @ id )
                       => ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f138]) ).

thf(f138,plain,
    ( hoasinduction_lem2
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( !! @ term
                        @ ^ [Y4: term] :
                            ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                           => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ term
                          @ ^ [Y4: term] :
                              ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ id @ Y1 @ id )
                       => ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id @ ( hoasap @ id @ Y1 @ id @ Y2 ) @ id ) ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ id @ Y1 @ id )
                       => ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f137]) ).

thf(f137,plain,
    ( hoasinduction_lem2
    = ( ! [X0: subst > term > subst > $o] :
          ( ! [X1: term,X2: subst,X3: subst,X4: subst] :
              ( ( X0 @ X2 @ X1 @ ( comp @ X3 @ X4 ) )
             => ( X0 @ ( comp @ X2 @ X3 ) @ ( sub @ X1 @ X3 ) @ X4 ) )
         => ( ! [X5: term,X6: subst,X7: subst,X8: subst] :
                ( ( X0 @ ( comp @ X8 @ X6 ) @ ( sub @ X5 @ X6 ) @ X7 )
               => ( X0 @ X8 @ X5 @ ( comp @ X6 @ X7 ) ) )
           => ( ! [X9: term,X10: term] :
                  ( ( X0 @ id @ X10 @ id )
                 => ( ( X0 @ id @ X9 @ id )
                   => ( X0 @ id @ ( hoasap @ id @ X10 @ id @ X9 ) @ id ) ) )
             => ! [X11: term,X12: term] :
                  ( ( X0 @ id @ X12 @ id )
                 => ( ( X0 @ id @ X11 @ id )
                   => ( X0 @ id @ ( ap @ X12 @ X11 ) @ id ) ) ) ) ) ) ) ),
    inference(rectify,[],[f93]) ).

thf(f93,axiom,
    ( hoasinduction_lem2
    = ( ! [X5: subst > term > subst > $o] :
          ( ! [X0: term,X2: subst,X4: subst,X3: subst] :
              ( ( X5 @ X2 @ X0 @ ( comp @ X4 @ X3 ) )
             => ( X5 @ ( comp @ X2 @ X4 ) @ ( sub @ X0 @ X4 ) @ X3 ) )
         => ( ! [X0: term,X4: subst,X3: subst,X2: subst] :
                ( ( X5 @ ( comp @ X2 @ X4 ) @ ( sub @ X0 @ X4 ) @ X3 )
               => ( X5 @ X2 @ X0 @ ( comp @ X4 @ X3 ) ) )
           => ( ! [X1: term,X0: term] :
                  ( ( X5 @ id @ X0 @ id )
                 => ( ( X5 @ id @ X1 @ id )
                   => ( X5 @ id @ ( hoasap @ id @ X0 @ id @ X1 ) @ id ) ) )
             => ! [X1: term,X0: term] :
                  ( ( X5 @ id @ X0 @ id )
                 => ( ( X5 @ id @ X1 @ id )
                   => ( X5 @ id @ ( ap @ X0 @ X1 ) @ id ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',hoasinduction_lem2) ).

thf(f467,plain,
    ( hoasinduction_lem1
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( !! @ term
                        @ ^ [Y4: term] :
                            ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( ^ [Y2: subst,Y3: term,Y4: subst] : ( var @ ( sub @ Y3 @ Y4 ) )
                      @ id
                      @ Y1
                      @ id )
                   => ( Y0 @ id @ Y1 @ id ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f371,f360]) ).

thf(f360,plain,
    ( hoasvar
    = ( ^ [Y0: subst,Y1: term,Y2: subst] : ( var @ ( sub @ Y1 @ Y2 ) ) ) ),
    inference(cnf_transformation,[],[f321]) ).

thf(f321,plain,
    ( hoasvar
    = ( ^ [Y0: subst,Y1: term,Y2: subst] : ( var @ ( sub @ Y1 @ Y2 ) ) ) ),
    inference(fool_elimination,[],[f320]) ).

thf(f320,plain,
    ( ( ^ [X0: subst,X1: term,X2: subst] : ( var @ ( sub @ X1 @ X2 ) ) )
    = hoasvar ),
    inference(rectify,[],[f57]) ).

thf(f57,axiom,
    ( ( ^ [X2: subst,X0: term,X3: subst] : ( var @ ( sub @ X0 @ X3 ) ) )
    = hoasvar ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',hoasvar) ).

thf(f371,plain,
    ( hoasinduction_lem1
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( !! @ term
                        @ ^ [Y4: term] :
                            ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( hoasvar @ id @ Y1 @ id )
                   => ( Y0 @ id @ Y1 @ id ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f142]) ).

thf(f142,plain,
    ( hoasinduction_lem1
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( !! @ term
                        @ ^ [Y4: term] :
                            ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( hoasvar @ id @ Y1 @ id )
                   => ( Y0 @ id @ Y1 @ id ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f141]) ).

thf(f141,plain,
    ! [X0: subst > term > subst > $o] :
      ( ( ! [X1: term,X2: subst,X3: subst,X4: subst] :
            ( ( X0 @ X4 @ X1 @ ( comp @ X3 @ X2 ) )
           => ( X0 @ ( comp @ X4 @ X3 ) @ ( sub @ X1 @ X3 ) @ X2 ) )
       => ( ! [X5: subst,X6: subst,X7: term,X8: subst] :
              ( ( X0 @ ( comp @ X6 @ X5 ) @ ( sub @ X7 @ X5 ) @ X8 )
             => ( X0 @ X6 @ X7 @ ( comp @ X5 @ X8 ) ) )
         => ( ! [X9: term] :
                ( ( hoasvar @ id @ X9 @ id )
               => ( X0 @ id @ X9 @ id ) )
           => ! [X10: term] :
                ( ( var @ X10 )
               => ( X0 @ id @ X10 @ id ) ) ) ) )
      = hoasinduction_lem1 ),
    inference(rectify,[],[f90]) ).

thf(f90,axiom,
    ! [X5: subst > term > subst > $o] :
      ( ( ! [X0: term,X3: subst,X4: subst,X2: subst] :
            ( ( X5 @ X2 @ X0 @ ( comp @ X4 @ X3 ) )
           => ( X5 @ ( comp @ X2 @ X4 ) @ ( sub @ X0 @ X4 ) @ X3 ) )
       => ( ! [X4: subst,X2: subst,X0: term,X3: subst] :
              ( ( X5 @ ( comp @ X2 @ X4 ) @ ( sub @ X0 @ X4 ) @ X3 )
             => ( X5 @ X2 @ X0 @ ( comp @ X4 @ X3 ) ) )
         => ( ! [X0: term] :
                ( ( hoasvar @ id @ X0 @ id )
               => ( X5 @ id @ X0 @ id ) )
           => ! [X0: term] :
                ( ( var @ X0 )
               => ( X5 @ id @ X0 @ id ) ) ) ) )
      = hoasinduction_lem1 ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',hoasinduction_lem1) ).

thf(f459,plain,
    ( hoasapnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( ^ [Y2: subst,Y3: term,Y4: subst] : ( var @ ( sub @ Y3 @ Y4 ) )
                @ id
                @ ( ^ [Y2: subst,Y3: term,Y4: subst,Y5: term] : ( ap @ ( sub @ Y3 @ Y4 ) @ Y5 )
                  @ id
                  @ Y0
                  @ id
                  @ Y1 )
                @ id ) ) ) ),
    inference(definition_unfolding,[],[f444,f360,f386]) ).

thf(f444,plain,
    ( hoasapnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( hoasvar @ id @ ( hoasap @ id @ Y0 @ id @ Y1 ) @ id ) ) ) ),
    inference(cnf_transformation,[],[f155]) ).

thf(f155,plain,
    ( hoasapnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( hoasvar @ id @ ( hoasap @ id @ Y0 @ id @ Y1 ) @ id ) ) ) ),
    inference(fool_elimination,[],[f154]) ).

thf(f154,plain,
    ! [X0: term,X1: term] :
      ( ( ~ ( hoasvar @ id @ ( hoasap @ id @ X1 @ id @ X0 ) @ id ) )
      = hoasapnotvar ),
    inference(rectify,[],[f73]) ).

thf(f73,axiom,
    ! [X1: term,X0: term] :
      ( ( ~ ( hoasvar @ id @ ( hoasap @ id @ X0 @ id @ X1 ) @ id ) )
      = hoasapnotvar ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',hoasapnotvar) ).

thf(f458,plain,
    ( hoaslamnotvar
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
         => ~ ( ^ [Y1: subst,Y2: term,Y3: subst] : ( var @ ( sub @ Y2 @ Y3 ) )
              @ id
              @ ( ^ [Y1: subst,Y2: subst > term > term] : ( lam @ ( Y2 @ sh @ one ) )
                @ id
                @ ^ [Y1: subst,Y2: term] : ( Y0 @ Y1 @ Y2 ) )
              @ id ) ) ) ),
    inference(definition_unfolding,[],[f336,f360,f362]) ).

thf(f336,plain,
    ( hoaslamnotvar
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
         => ~ ( hoasvar @ id
              @ ( hoaslam @ id
                @ ^ [Y1: subst,Y2: term] : ( Y0 @ Y1 @ Y2 ) )
              @ id ) ) ) ),
    inference(cnf_transformation,[],[f144]) ).

thf(f144,plain,
    ( hoaslamnotvar
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
         => ~ ( hoasvar @ id
              @ ( hoaslam @ id
                @ ^ [Y1: subst,Y2: term] : ( Y0 @ Y1 @ Y2 ) )
              @ id ) ) ) ),
    inference(fool_elimination,[],[f143]) ).

thf(f143,plain,
    ( hoaslamnotvar
    = ( ! [X0: subst > term > term] :
          ( ! [X1: subst,X2: term,X3: subst] :
              ( ( sub @ ( X0 @ X3 @ X2 ) @ X1 )
              = ( X0 @ ( comp @ X3 @ X1 ) @ ( sub @ X2 @ X1 ) ) )
         => ~ ( hoasvar @ id
              @ ( hoaslam @ id
                @ ^ [X4: subst,X5: term] : ( X0 @ X4 @ X5 ) )
              @ id ) ) ) ),
    inference(rectify,[],[f70]) ).

thf(f70,axiom,
    ( hoaslamnotvar
    = ( ! [X10: subst > term > term] :
          ( ! [X3: subst,X0: term,X2: subst] :
              ( ( sub @ ( X10 @ X2 @ X0 ) @ X3 )
              = ( X10 @ ( comp @ X2 @ X3 ) @ ( sub @ X0 @ X3 ) ) )
         => ~ ( hoasvar @ id
              @ ( hoaslam @ id
                @ ^ [X2: subst,X0: term] : ( X10 @ X2 @ X0 ) )
              @ id ) ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',hoaslamnotvar) ).

thf(f457,plain,
    ( hoaslamnotap
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
         => ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( ^ [Y3: subst,Y4: term,Y5: subst,Y6: term] : ( ap @ ( sub @ Y4 @ Y5 ) @ Y6 )
                      @ id
                      @ Y2
                      @ id
                      @ Y1 )
                   != ( ^ [Y3: subst,Y4: subst > term > term] : ( lam @ ( Y4 @ sh @ one ) )
                      @ id
                      @ ^ [Y3: subst,Y4: term] : ( Y0 @ Y3 @ Y4 ) ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f373,f386,f362]) ).

thf(f373,plain,
    ( hoaslamnotap
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
         => ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( hoasap @ id @ Y2 @ id @ Y1 )
                   != ( hoaslam @ id
                      @ ^ [Y3: subst,Y4: term] : ( Y0 @ Y3 @ Y4 ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f289]) ).

thf(f289,plain,
    ( hoaslamnotap
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
         => ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( hoasap @ id @ Y2 @ id @ Y1 )
                   != ( hoaslam @ id
                      @ ^ [Y3: subst,Y4: term] : ( Y0 @ Y3 @ Y4 ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f288]) ).

thf(f288,plain,
    ( hoaslamnotap
    = ( ! [X0: subst > term > term] :
          ( ! [X1: term,X2: subst,X3: subst] :
              ( ( sub @ ( X0 @ X2 @ X1 ) @ X3 )
              = ( X0 @ ( comp @ X2 @ X3 ) @ ( sub @ X1 @ X3 ) ) )
         => ! [X4: term,X5: term] :
              ( ( hoasap @ id @ X4 @ id @ X5 )
             != ( hoaslam @ id
                @ ^ [X6: subst,X7: term] : ( X0 @ X6 @ X7 ) ) ) ) ) ),
    inference(rectify,[],[f67]) ).

thf(f67,axiom,
    ( hoaslamnotap
    = ( ! [X10: subst > term > term] :
          ( ! [X0: term,X2: subst,X3: subst] :
              ( ( sub @ ( X10 @ X2 @ X0 ) @ X3 )
              = ( X10 @ ( comp @ X2 @ X3 ) @ ( sub @ X0 @ X3 ) ) )
         => ! [X0: term,X1: term] :
              ( ( hoasap @ id @ X0 @ id @ X1 )
             != ( hoaslam @ id
                @ ^ [X2: subst,X6: term] : ( X10 @ X2 @ X6 ) ) ) ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',hoaslamnotap) ).

thf(f456,plain,
    ( hoaslaminj
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                        = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
         => ( !! @ ( subst > term > term )
            @ ^ [Y1: subst > term > term] :
                ( ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                              = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
               => ( ( ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                      @ id
                      @ ^ [Y2: subst,Y3: term] : ( Y0 @ Y2 @ Y3 ) )
                    = ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                      @ id
                      @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) ) )
                 => ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( Y1 @ Y2 @ Y3 )
                            = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f339,f362,f362]) ).

thf(f339,plain,
    ( hoaslaminj
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                        = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
         => ( !! @ ( subst > term > term )
            @ ^ [Y1: subst > term > term] :
                ( ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                              = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
               => ( ( ( hoaslam @ id
                      @ ^ [Y2: subst,Y3: term] : ( Y0 @ Y2 @ Y3 ) )
                    = ( hoaslam @ id
                      @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) ) )
                 => ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( Y1 @ Y2 @ Y3 )
                            = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f213]) ).

thf(f213,plain,
    ( hoaslaminj
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                        = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
         => ( !! @ ( subst > term > term )
            @ ^ [Y1: subst > term > term] :
                ( ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                              = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
               => ( ( ( hoaslam @ id
                      @ ^ [Y2: subst,Y3: term] : ( Y0 @ Y2 @ Y3 ) )
                    = ( hoaslam @ id
                      @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) ) )
                 => ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( Y1 @ Y2 @ Y3 )
                            = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f212]) ).

thf(f212,plain,
    ( hoaslaminj
    = ( ! [X0: subst > term > term] :
          ( ! [X1: subst,X2: subst,X3: term] :
              ( ( sub @ ( X0 @ X2 @ X3 ) @ X1 )
              = ( X0 @ ( comp @ X2 @ X1 ) @ ( sub @ X3 @ X1 ) ) )
         => ! [X4: subst > term > term] :
              ( ! [X5: subst,X6: term,X7: subst] :
                  ( ( sub @ ( X4 @ X7 @ X6 ) @ X5 )
                  = ( X4 @ ( comp @ X7 @ X5 ) @ ( sub @ X6 @ X5 ) ) )
             => ( ( ( hoaslam @ id
                    @ ^ [X8: subst,X9: term] : ( X0 @ X8 @ X9 ) )
                  = ( hoaslam @ id
                    @ ^ [X10: subst,X11: term] : ( X4 @ X10 @ X11 ) ) )
               => ! [X12: term,X13: subst] :
                    ( ( X4 @ X13 @ X12 )
                    = ( X0 @ X13 @ X12 ) ) ) ) ) ) ),
    inference(rectify,[],[f64]) ).

thf(f64,axiom,
    ( hoaslaminj
    = ( ! [X10: subst > term > term] :
          ( ! [X3: subst,X2: subst,X0: term] :
              ( ( sub @ ( X10 @ X2 @ X0 ) @ X3 )
              = ( X10 @ ( comp @ X2 @ X3 ) @ ( sub @ X0 @ X3 ) ) )
         => ! [X11: subst > term > term] :
              ( ! [X3: subst,X0: term,X2: subst] :
                  ( ( sub @ ( X11 @ X2 @ X0 ) @ X3 )
                  = ( X11 @ ( comp @ X2 @ X3 ) @ ( sub @ X0 @ X3 ) ) )
             => ( ( ( hoaslam @ id
                    @ ^ [X2: subst,X0: term] : ( X10 @ X2 @ X0 ) )
                  = ( hoaslam @ id
                    @ ^ [X2: subst,X0: term] : ( X11 @ X2 @ X0 ) ) )
               => ! [X0: term,X2: subst] :
                    ( ( X10 @ X2 @ X0 )
                    = ( X11 @ X2 @ X0 ) ) ) ) ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',hoaslaminj) ).

thf(f455,plain,
    ( hoasapinj2
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                          @ id
                          @ Y3
                          @ id
                          @ Y2 )
                        = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                          @ id
                          @ Y0
                          @ id
                          @ Y1 ) )
                     => ( Y2 = Y1 ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f392,f386,f386]) ).

thf(f392,plain,
    ( hoasapinj2
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( hoasap @ id @ Y3 @ id @ Y2 )
                        = ( hoasap @ id @ Y0 @ id @ Y1 ) )
                     => ( Y2 = Y1 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f325]) ).

thf(f325,plain,
    ( hoasapinj2
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( hoasap @ id @ Y3 @ id @ Y2 )
                        = ( hoasap @ id @ Y0 @ id @ Y1 ) )
                     => ( Y2 = Y1 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f324]) ).

thf(f324,plain,
    ( hoasapinj2
    = ( ! [X0: term,X1: term,X2: term,X3: term] :
          ( ( ( hoasap @ id @ X0 @ id @ X1 )
            = ( hoasap @ id @ X3 @ id @ X2 ) )
         => ( X1 = X2 ) ) ) ),
    inference(rectify,[],[f61]) ).

thf(f61,axiom,
    ( hoasapinj2
    = ( ! [X0: term,X6: term,X7: term,X1: term] :
          ( ( ( hoasap @ id @ X0 @ id @ X6 )
            = ( hoasap @ id @ X1 @ id @ X7 ) )
         => ( X6 = X7 ) ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',hoasapinj2) ).

thf(f454,plain,
    ( hoasapinj1
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                          @ id
                          @ Y2
                          @ id
                          @ Y3 )
                        = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                          @ id
                          @ Y0
                          @ id
                          @ Y1 ) )
                     => ( Y2 = Y0 ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f369,f386,f386]) ).

thf(f369,plain,
    ( hoasapinj1
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( hoasap @ id @ Y2 @ id @ Y3 )
                        = ( hoasap @ id @ Y0 @ id @ Y1 ) )
                     => ( Y2 = Y0 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f243]) ).

thf(f243,plain,
    ( hoasapinj1
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( hoasap @ id @ Y2 @ id @ Y3 )
                        = ( hoasap @ id @ Y0 @ id @ Y1 ) )
                     => ( Y2 = Y0 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f242]) ).

thf(f242,plain,
    ! [X0: term,X1: term,X2: term,X3: term] :
      ( ( ( ( hoasap @ id @ X1 @ id @ X0 )
          = ( hoasap @ id @ X3 @ id @ X2 ) )
       => ( X1 = X3 ) )
      = hoasapinj1 ),
    inference(rectify,[],[f58]) ).

thf(f58,axiom,
    ! [X7: term,X1: term,X6: term,X0: term] :
      ( ( ( ( hoasap @ id @ X0 @ id @ X6 )
          = ( hoasap @ id @ X1 @ id @ X7 ) )
       => ( X0 = X1 ) )
      = hoasapinj1 ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',hoasapinj1) ).

thf(f399,plain,
    ( termmset
    = ( ( !! @ term
        @ ^ [Y0: term] :
            ( ( sub @ Y0 @ id )
            = Y0 ) )
      & ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                    = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f181]) ).

thf(f181,plain,
    ( termmset
    = ( ( !! @ term
        @ ^ [Y0: term] :
            ( ( sub @ Y0 @ id )
            = Y0 ) )
      & ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                    = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f180]) ).

thf(f180,plain,
    ( ! [X0: term,X1: subst,X2: subst] :
        ( ( sub @ ( sub @ X0 @ X1 ) @ X2 )
        = ( sub @ X0 @ ( comp @ X1 @ X2 ) ) )
    & ! [X3: term] :
        ( ( ( sub @ X3 @ id )
          = X3 )
        = termmset ) ),
    inference(rectify,[],[f52]) ).

thf(f52,axiom,
    ( ! [X0: term,X2: subst,X3: subst] :
        ( ( sub @ ( sub @ X0 @ X2 ) @ X3 )
        = ( sub @ X0 @ ( comp @ X2 @ X3 ) ) )
    & ! [X0: term] :
        ( ( ( sub @ X0 @ id )
          = X0 )
        = termmset ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',termmset) ).

thf(f354,plain,
    ( substmonoid
    = ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                    = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
      & ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( comp @ id @ Y0 )
            = Y0 ) )
      & ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( comp @ Y0 @ id )
            = Y0 ) ) ) ),
    inference(cnf_transformation,[],[f201]) ).

thf(f201,plain,
    ( substmonoid
    = ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                    = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
      & ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( comp @ id @ Y0 )
            = Y0 ) )
      & ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( comp @ Y0 @ id )
            = Y0 ) ) ) ),
    inference(fool_elimination,[],[f200]) ).

thf(f200,plain,
    ( ( substmonoid
      = ( ! [X0: subst] :
            ( ( comp @ X0 @ id )
            = X0 ) ) )
    & ! [X1: subst] :
        ( ( comp @ id @ X1 )
        = X1 )
    & ! [X2: subst,X3: subst,X4: subst] :
        ( ( comp @ ( comp @ X4 @ X2 ) @ X3 )
        = ( comp @ X4 @ ( comp @ X2 @ X3 ) ) ) ),
    inference(rectify,[],[f49]) ).

thf(f49,axiom,
    ( ( substmonoid
      = ( ! [X2: subst] :
            ( ( comp @ X2 @ id )
            = X2 ) ) )
    & ! [X2: subst] :
        ( ( comp @ id @ X2 )
        = X2 )
    & ! [X3: subst,X4: subst,X2: subst] :
        ( ( comp @ ( comp @ X2 @ X3 ) @ X4 )
        = ( comp @ X2 @ ( comp @ X3 @ X4 ) ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',substmonoid) ).

thf(f337,plain,
    ( induction2
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( ( var @ Y1 )
               => ( Y0 @ Y1 ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( Y0 @ Y2 )
                     => ( ( Y0 @ Y1 )
                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f253]) ).

thf(f253,plain,
    ( induction2
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( ( var @ Y1 )
               => ( Y0 @ Y1 ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( Y0 @ Y2 )
                     => ( ( Y0 @ Y1 )
                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f252]) ).

thf(f252,plain,
    ( induction2
    = ( ! [X0: term > $o] :
          ( ! [X1: term] :
              ( ( var @ X1 )
             => ( X0 @ X1 ) )
         => ( ! [X2: term,X3: term] :
                ( ( X0 @ X2 )
               => ( ( X0 @ X3 )
                 => ( X0 @ ( ap @ X2 @ X3 ) ) ) )
           => ( ! [X4: term] :
                  ( ! [X5: term] :
                      ( ( X0 @ X5 )
                     => ( X0 @ ( sub @ X4 @ ( push @ X5 @ id ) ) ) )
                 => ( X0 @ ( lam @ X4 ) ) )
             => ! [X6: term] : ( X0 @ X6 ) ) ) ) ) ),
    inference(rectify,[],[f46]) ).

thf(f46,axiom,
    ( induction2
    = ( ! [X5: term > $o] :
          ( ! [X0: term] :
              ( ( var @ X0 )
             => ( X5 @ X0 ) )
         => ( ! [X0: term,X1: term] :
                ( ( X5 @ X0 )
               => ( ( X5 @ X1 )
                 => ( X5 @ ( ap @ X0 @ X1 ) ) ) )
           => ( ! [X0: term] :
                  ( ! [X1: term] :
                      ( ( X5 @ X1 )
                     => ( X5 @ ( sub @ X0 @ ( push @ X1 @ id ) ) ) )
                 => ( X5 @ ( lam @ X0 ) ) )
             => ! [X0: term] : ( X5 @ X0 ) ) ) ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',induction2) ).

thf(f397,plain,
    ( induction2lem
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( Y0 @ Y2 )
                   => ( ( Y0 @ Y1 )
                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ Y2 )
                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                 => ( Y0 @ ( lam @ Y1 ) ) ) )
           => ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                     => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f185]) ).

thf(f185,plain,
    ( induction2lem
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( Y0 @ Y2 )
                   => ( ( Y0 @ Y1 )
                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ Y2 )
                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                 => ( Y0 @ ( lam @ Y1 ) ) ) )
           => ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                     => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f184]) ).

thf(f184,plain,
    ! [X0: term > $o] :
      ( ( ! [X1: term,X2: term] :
            ( ( X0 @ X1 )
           => ( ( X0 @ X2 )
             => ( X0 @ ( ap @ X1 @ X2 ) ) ) )
       => ( ! [X3: term] :
              ( ! [X4: term] :
                  ( ( X0 @ X4 )
                 => ( X0 @ ( sub @ X3 @ ( push @ X4 @ id ) ) ) )
             => ( X0 @ ( lam @ X3 ) ) )
         => ! [X5: subst,X6: term] :
              ( ! [X7: term] :
                  ( ( var @ X7 )
                 => ( X0 @ ( sub @ X7 @ X5 ) ) )
             => ( X0 @ ( sub @ X6 @ X5 ) ) ) ) )
      = induction2lem ),
    inference(rectify,[],[f43]) ).

thf(f43,axiom,
    ! [X5: term > $o] :
      ( ( ! [X0: term,X1: term] :
            ( ( X5 @ X0 )
           => ( ( X5 @ X1 )
             => ( X5 @ ( ap @ X0 @ X1 ) ) ) )
       => ( ! [X0: term] :
              ( ! [X1: term] :
                  ( ( X5 @ X1 )
                 => ( X5 @ ( sub @ X0 @ ( push @ X1 @ id ) ) ) )
             => ( X5 @ ( lam @ X0 ) ) )
         => ! [X2: subst,X0: term] :
              ( ! [X1: term] :
                  ( ( var @ X1 )
                 => ( X5 @ ( sub @ X1 @ X2 ) ) )
             => ( X5 @ ( sub @ X0 @ X2 ) ) ) ) )
      = induction2lem ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',induction2lem) ).

thf(f387,plain,
    ( pushprop
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( var @ Y3 )
                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                 => ( ( Y0 @ Y1 )
                   => ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( var @ Y3 )
                         => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f291]) ).

thf(f291,plain,
    ( pushprop
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( var @ Y3 )
                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                 => ( ( Y0 @ Y1 )
                   => ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( var @ Y3 )
                         => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f290]) ).

thf(f290,plain,
    ( pushprop
    = ( ! [X0: subst,X1: term,X2: term > $o] :
          ( ! [X3: term] :
              ( ( var @ X3 )
             => ( X2 @ ( sub @ X3 @ X0 ) ) )
         => ( ( X2 @ X1 )
           => ! [X4: term] :
                ( ( var @ X4 )
               => ( X2 @ ( sub @ X4 @ ( push @ X1 @ X0 ) ) ) ) ) ) ) ),
    inference(rectify,[],[f39]) ).

thf(f39,axiom,
    ( pushprop
    = ( ! [X2: subst,X0: term,X5: term > $o] :
          ( ! [X1: term] :
              ( ( var @ X1 )
             => ( X5 @ ( sub @ X1 @ X2 ) ) )
         => ( ( X5 @ X0 )
           => ! [X1: term] :
                ( ( var @ X1 )
               => ( X5 @ ( sub @ X1 @ ( push @ X0 @ X2 ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',pushprop) ).

thf(f347,plain,
    ( induction
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( ( var @ Y1 )
               => ( Y0 @ Y1 ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( Y0 @ Y2 )
                     => ( ( Y0 @ Y1 )
                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( Y0 @ Y1 )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f231]) ).

thf(f231,plain,
    ( induction
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( ( var @ Y1 )
               => ( Y0 @ Y1 ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( Y0 @ Y2 )
                     => ( ( Y0 @ Y1 )
                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( Y0 @ Y1 )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f230]) ).

thf(f230,plain,
    ( induction
    = ( ! [X0: term > $o] :
          ( ! [X1: term] :
              ( ( var @ X1 )
             => ( X0 @ X1 ) )
         => ( ! [X2: term,X3: term] :
                ( ( X0 @ X2 )
               => ( ( X0 @ X3 )
                 => ( X0 @ ( ap @ X2 @ X3 ) ) ) )
           => ( ! [X4: term] :
                  ( ( X0 @ X4 )
                 => ( X0 @ ( lam @ X4 ) ) )
             => ! [X5: term] : ( X0 @ X5 ) ) ) ) ) ),
    inference(rectify,[],[f23]) ).

thf(f23,axiom,
    ( induction
    = ( ! [X5: term > $o] :
          ( ! [X0: term] :
              ( ( var @ X0 )
             => ( X5 @ X0 ) )
         => ( ! [X0: term,X1: term] :
                ( ( X5 @ X0 )
               => ( ( X5 @ X1 )
                 => ( X5 @ ( ap @ X0 @ X1 ) ) ) )
           => ( ! [X0: term] :
                  ( ( X5 @ X0 )
                 => ( X5 @ ( lam @ X0 ) ) )
             => ! [X0: term] : ( X5 @ X0 ) ) ) ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',induction) ).

thf(f430,plain,
    ( lamnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ~ ( var @ ( lam @ Y0 ) ) ) ),
    inference(cnf_transformation,[],[f153]) ).

thf(f153,plain,
    ( lamnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ~ ( var @ ( lam @ Y0 ) ) ) ),
    inference(fool_elimination,[],[f152]) ).

thf(f152,plain,
    ! [X0: term] :
      ( ( ~ ( var @ ( lam @ X0 ) ) )
      = lamnotvar ),
    inference(rectify,[],[f22]) ).

thf(f22,axiom,
    ! [X0: term] :
      ( ( ~ ( var @ ( lam @ X0 ) ) )
      = lamnotvar ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',lamnotvar) ).

thf(f426,plain,
    ( apnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) ),
    inference(cnf_transformation,[],[f177]) ).

thf(f177,plain,
    ( apnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) ),
    inference(fool_elimination,[],[f176]) ).

thf(f176,plain,
    ! [X0: term,X1: term] :
      ( ( ~ ( var @ ( ap @ X1 @ X0 ) ) )
      = apnotvar ),
    inference(rectify,[],[f21]) ).

thf(f21,axiom,
    ! [X1: term,X0: term] :
      ( ( ~ ( var @ ( ap @ X0 @ X1 ) ) )
      = apnotvar ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',apnotvar) ).

thf(f377,plain,
    ( lamnotap
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( ap @ Y1 @ Y2 )
                 != ( lam @ Y0 ) ) ) ) ) ),
    inference(cnf_transformation,[],[f209]) ).

thf(f209,plain,
    ( lamnotap
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( ap @ Y1 @ Y2 )
                 != ( lam @ Y0 ) ) ) ) ) ),
    inference(fool_elimination,[],[f208]) ).

thf(f208,plain,
    ! [X0: term,X1: term,X2: term] :
      ( ( ( ap @ X1 @ X0 )
       != ( lam @ X2 ) )
      = lamnotap ),
    inference(rectify,[],[f20]) ).

thf(f20,axiom,
    ! [X6: term,X1: term,X0: term] :
      ( ( ( lam @ X0 )
       != ( ap @ X1 @ X6 ) )
      = lamnotap ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',lamnotap) ).

thf(f388,plain,
    ( shinj
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( ( sub @ Y1 @ sh )
                = ( sub @ Y0 @ sh ) )
             => ( Y1 = Y0 ) ) ) ) ),
    inference(cnf_transformation,[],[f223]) ).

thf(f223,plain,
    ( shinj
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( ( sub @ Y1 @ sh )
                = ( sub @ Y0 @ sh ) )
             => ( Y1 = Y0 ) ) ) ) ),
    inference(fool_elimination,[],[f19]) ).

thf(f19,axiom,
    ! [X0: term,X1: term] :
      ( ( ( ( sub @ X0 @ sh )
          = ( sub @ X1 @ sh ) )
       => ( X0 = X1 ) )
      = shinj ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',shinj) ).

thf(f378,plain,
    ( laminj
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( ( lam @ Y1 )
                = ( lam @ Y0 ) )
             => ( Y1 = Y0 ) ) ) ) ),
    inference(cnf_transformation,[],[f271]) ).

thf(f271,plain,
    ( laminj
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( ( lam @ Y1 )
                = ( lam @ Y0 ) )
             => ( Y1 = Y0 ) ) ) ) ),
    inference(fool_elimination,[],[f18]) ).

thf(f18,axiom,
    ! [X0: term,X1: term] :
      ( ( ( ( lam @ X0 )
          = ( lam @ X1 ) )
       => ( X0 = X1 ) )
      = laminj ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',laminj) ).

thf(f406,plain,
    ( apinj2
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ap @ Y2 @ Y3 )
                        = ( ap @ Y0 @ Y1 ) )
                     => ( Y3 = Y1 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f287]) ).

thf(f287,plain,
    ( apinj2
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ap @ Y2 @ Y3 )
                        = ( ap @ Y0 @ Y1 ) )
                     => ( Y3 = Y1 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f286]) ).

thf(f286,plain,
    ! [X0: term,X1: term,X2: term,X3: term] :
      ( ( ( ( ap @ X1 @ X0 )
          = ( ap @ X3 @ X2 ) )
       => ( X0 = X2 ) )
      = apinj2 ),
    inference(rectify,[],[f17]) ).

thf(f17,axiom,
    ! [X7: term,X1: term,X6: term,X0: term] :
      ( ( ( ( ap @ X0 @ X6 )
          = ( ap @ X1 @ X7 ) )
       => ( X6 = X7 ) )
      = apinj2 ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',apinj2) ).

thf(f396,plain,
    ( apinj1
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ap @ Y2 @ Y3 )
                        = ( ap @ Y1 @ Y0 ) )
                     => ( Y2 = Y1 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f128]) ).

thf(f128,plain,
    ( apinj1
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ap @ Y2 @ Y3 )
                        = ( ap @ Y1 @ Y0 ) )
                     => ( Y2 = Y1 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f127]) ).

thf(f127,plain,
    ( apinj1
    = ( ! [X0: term,X1: term,X2: term,X3: term] :
          ( ( ( ap @ X1 @ X0 )
            = ( ap @ X2 @ X3 ) )
         => ( X1 = X2 ) ) ) ),
    inference(rectify,[],[f16]) ).

thf(f16,axiom,
    ( apinj1
    = ( ! [X7: term,X1: term,X0: term,X6: term] :
          ( ( ( ap @ X0 @ X6 )
            = ( ap @ X1 @ X7 ) )
         => ( X0 = X1 ) ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',apinj1) ).

thf(f423,plain,
    ( ulamvarind
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( Y0 @ one )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( ( Y0 @ Y1 )
                   => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
           => ( !! @ term
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f222]) ).

thf(f222,plain,
    ( ulamvarind
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( Y0 @ one )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( ( Y0 @ Y1 )
                   => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
           => ( !! @ term
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f221]) ).

thf(f221,plain,
    ( ulamvarind
    = ( ! [X0: term > $o] :
          ( ( X0 @ one )
         => ( ! [X1: term] :
                ( ( var @ X1 )
               => ( ( X0 @ X1 )
                 => ( X0 @ ( sub @ X1 @ sh ) ) ) )
           => ! [X2: term] :
                ( ( var @ X2 )
               => ( X0 @ X2 ) ) ) ) ) ),
    inference(rectify,[],[f15]) ).

thf(f15,axiom,
    ( ulamvarind
    = ( ! [X5: term > $o] :
          ( ( X5 @ one )
         => ( ! [X0: term] :
                ( ( var @ X0 )
               => ( ( X5 @ X0 )
                 => ( X5 @ ( sub @ X0 @ sh ) ) ) )
           => ! [X0: term] :
                ( ( var @ X0 )
               => ( X5 @ X0 ) ) ) ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',ulamvarind) ).

thf(f424,plain,
    ( ulamvarsh
    = ( !! @ term
      @ ^ [Y0: term] :
          ( ( var @ Y0 )
         => ( var @ ( sub @ Y0 @ sh ) ) ) ) ),
    inference(cnf_transformation,[],[f241]) ).

thf(f241,plain,
    ( ulamvarsh
    = ( !! @ term
      @ ^ [Y0: term] :
          ( ( var @ Y0 )
         => ( var @ ( sub @ Y0 @ sh ) ) ) ) ),
    inference(fool_elimination,[],[f240]) ).

thf(f240,plain,
    ! [X0: term] :
      ( ( ( var @ X0 )
       => ( var @ ( sub @ X0 @ sh ) ) )
      = ulamvarsh ),
    inference(rectify,[],[f14]) ).

thf(f14,axiom,
    ! [X0: term] :
      ( ( ( var @ X0 )
       => ( var @ ( sub @ X0 @ sh ) ) )
      = ulamvarsh ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',ulamvarsh) ).

thf(f409,plain,
    ( ulamvar1
    = ( var @ one ) ),
    inference(cnf_transformation,[],[f264]) ).

thf(f264,plain,
    ( ulamvar1
    = ( var @ one ) ),
    inference(fool_elimination,[],[f13]) ).

thf(f13,axiom,
    ( ulamvar1
    = ( var @ one ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',ulamvar1) ).

thf(f390,plain,
    ( axscons
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
          = Y0 ) ) ),
    inference(cnf_transformation,[],[f118]) ).

thf(f118,plain,
    ( axscons
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
          = Y0 ) ) ),
    inference(fool_elimination,[],[f117]) ).

thf(f117,plain,
    ( axscons
    = ( ! [X0: subst] :
          ( ( push @ ( sub @ one @ X0 ) @ ( comp @ sh @ X0 ) )
          = X0 ) ) ),
    inference(rectify,[],[f12]) ).

thf(f12,axiom,
    ( axscons
    = ( ! [X2: subst] :
          ( ( push @ ( sub @ one @ X2 ) @ ( comp @ sh @ X2 ) )
          = X2 ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',axscons) ).

thf(f448,plain,
    ( axvarshift
    = ( id
      = ( push @ one @ sh ) ) ),
    inference(cnf_transformation,[],[f119]) ).

thf(f119,plain,
    ( axvarshift
    = ( id
      = ( push @ one @ sh ) ) ),
    inference(fool_elimination,[],[f11]) ).

thf(f11,axiom,
    ( axvarshift
    = ( id
      = ( push @ one @ sh ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',axvarshift) ).

thf(f408,plain,
    ( axidr
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( comp @ Y0 @ id )
          = Y0 ) ) ),
    inference(cnf_transformation,[],[f124]) ).

thf(f124,plain,
    ( axidr
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( comp @ Y0 @ id )
          = Y0 ) ) ),
    inference(fool_elimination,[],[f123]) ).

thf(f123,plain,
    ( axidr
    = ( ! [X0: subst] :
          ( ( comp @ X0 @ id )
          = X0 ) ) ),
    inference(rectify,[],[f10]) ).

thf(f10,axiom,
    ( axidr
    = ( ! [X2: subst] :
          ( ( comp @ X2 @ id )
          = X2 ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',axidr) ).

thf(f349,plain,
    ( axmap
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                  = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) ) ),
    inference(cnf_transformation,[],[f237]) ).

thf(f237,plain,
    ( axmap
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) )
                  = ( comp @ ( push @ Y0 @ Y2 ) @ Y1 ) ) ) ) ) ),
    inference(fool_elimination,[],[f236]) ).

thf(f236,plain,
    ( axmap
    = ( ! [X0: subst,X1: subst,X2: term] :
          ( ( push @ ( sub @ X2 @ X1 ) @ ( comp @ X0 @ X1 ) )
          = ( comp @ ( push @ X2 @ X0 ) @ X1 ) ) ) ),
    inference(rectify,[],[f9]) ).

thf(f9,axiom,
    ( axmap
    = ( ! [X2: subst,X3: subst,X0: term] :
          ( ( comp @ ( push @ X0 @ X2 ) @ X3 )
          = ( push @ ( sub @ X0 @ X3 ) @ ( comp @ X2 @ X3 ) ) ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',axmap) ).

thf(f352,plain,
    ( axassoc
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                  = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) ) ),
    inference(cnf_transformation,[],[f207]) ).

thf(f207,plain,
    ( axassoc
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( comp @ Y2 @ ( comp @ Y1 @ Y0 ) )
                  = ( comp @ ( comp @ Y2 @ Y1 ) @ Y0 ) ) ) ) ) ),
    inference(fool_elimination,[],[f206]) ).

thf(f206,plain,
    ( axassoc
    = ( ! [X0: subst,X1: subst,X2: subst] :
          ( ( comp @ X0 @ ( comp @ X1 @ X2 ) )
          = ( comp @ ( comp @ X0 @ X1 ) @ X2 ) ) ) ),
    inference(rectify,[],[f8]) ).

thf(f8,axiom,
    ( axassoc
    = ( ! [X2: subst,X3: subst,X4: subst] :
          ( ( comp @ ( comp @ X2 @ X3 ) @ X4 )
          = ( comp @ X2 @ ( comp @ X3 @ X4 ) ) ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',axassoc) ).

thf(f372,plain,
    ( axshiftcons
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
              = Y0 ) ) ) ),
    inference(cnf_transformation,[],[f169]) ).

thf(f169,plain,
    ( axshiftcons
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
              = Y0 ) ) ) ),
    inference(fool_elimination,[],[f168]) ).

thf(f168,plain,
    ( axshiftcons
    = ( ! [X0: term,X1: subst] :
          ( ( comp @ sh @ ( push @ X0 @ X1 ) )
          = X1 ) ) ),
    inference(rectify,[],[f7]) ).

thf(f7,axiom,
    ( axshiftcons
    = ( ! [X0: term,X2: subst] :
          ( ( comp @ sh @ ( push @ X0 @ X2 ) )
          = X2 ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',axshiftcons) ).

thf(f345,plain,
    ( axidl
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( comp @ id @ Y0 )
          = Y0 ) ) ),
    inference(cnf_transformation,[],[f309]) ).

thf(f309,plain,
    ( axidl
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( comp @ id @ Y0 )
          = Y0 ) ) ),
    inference(fool_elimination,[],[f308]) ).

thf(f308,plain,
    ( axidl
    = ( ! [X0: subst] :
          ( ( comp @ id @ X0 )
          = X0 ) ) ),
    inference(rectify,[],[f6]) ).

thf(f6,axiom,
    ( axidl
    = ( ! [X2: subst] :
          ( ( comp @ id @ X2 )
          = X2 ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',axidl) ).

thf(f412,plain,
    ( axclos
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( sub @ Y1 @ ( comp @ Y0 @ Y2 ) )
                  = ( sub @ ( sub @ Y1 @ Y0 ) @ Y2 ) ) ) ) ) ),
    inference(cnf_transformation,[],[f329]) ).

thf(f329,plain,
    ( axclos
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( sub @ Y1 @ ( comp @ Y0 @ Y2 ) )
                  = ( sub @ ( sub @ Y1 @ Y0 ) @ Y2 ) ) ) ) ) ),
    inference(fool_elimination,[],[f328]) ).

thf(f328,plain,
    ! [X0: subst,X1: term,X2: subst] :
      ( ( ( sub @ X1 @ ( comp @ X2 @ X0 ) )
        = ( sub @ ( sub @ X1 @ X2 ) @ X0 ) )
      = axclos ),
    inference(rectify,[],[f5]) ).

thf(f5,axiom,
    ! [X3: subst,X0: term,X2: subst] :
      ( ( ( sub @ ( sub @ X0 @ X2 ) @ X3 )
        = ( sub @ X0 @ ( comp @ X2 @ X3 ) ) )
      = axclos ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',axclos) ).

thf(f338,plain,
    ( axabs
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( sub @ ( lam @ Y1 ) @ Y0 )
              = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f159]) ).

thf(f159,plain,
    ( axabs
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( sub @ ( lam @ Y1 ) @ Y0 )
              = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f158]) ).

thf(f158,plain,
    ! [X0: term,X1: subst] :
      ( ( ( sub @ ( lam @ X0 ) @ X1 )
        = ( lam @ ( sub @ X0 @ ( push @ one @ ( comp @ X1 @ sh ) ) ) ) )
      = axabs ),
    inference(rectify,[],[f4]) ).

thf(f4,axiom,
    ! [X0: term,X2: subst] :
      ( ( ( sub @ ( lam @ X0 ) @ X2 )
        = ( lam @ ( sub @ X0 @ ( push @ one @ ( comp @ X2 @ sh ) ) ) ) )
      = axabs ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',axabs) ).

thf(f357,plain,
    ( axvarid
    = ( !! @ term
      @ ^ [Y0: term] :
          ( ( sub @ Y0 @ id )
          = Y0 ) ) ),
    inference(cnf_transformation,[],[f120]) ).

thf(f120,plain,
    ( axvarid
    = ( !! @ term
      @ ^ [Y0: term] :
          ( ( sub @ Y0 @ id )
          = Y0 ) ) ),
    inference(fool_elimination,[],[f3]) ).

thf(f3,axiom,
    ( axvarid
    = ( ! [X0: term] :
          ( ( sub @ X0 @ id )
          = X0 ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',axvarid) ).

thf(f370,plain,
    ( axvarcons
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( ( sub @ one @ ( push @ Y0 @ Y1 ) )
              = Y0 ) ) ) ),
    inference(cnf_transformation,[],[f251]) ).

thf(f251,plain,
    ( axvarcons
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( ( sub @ one @ ( push @ Y0 @ Y1 ) )
              = Y0 ) ) ) ),
    inference(fool_elimination,[],[f250]) ).

thf(f250,plain,
    ! [X0: subst,X1: term] :
      ( ( ( sub @ one @ ( push @ X1 @ X0 ) )
        = X1 )
      = axvarcons ),
    inference(rectify,[],[f2]) ).

thf(f2,axiom,
    ! [X2: subst,X0: term] :
      ( ( ( sub @ one @ ( push @ X0 @ X2 ) )
        = X0 )
      = axvarcons ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',axvarcons) ).

thf(f435,plain,
    ( axapp
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( sub @ ( ap @ Y2 @ Y0 ) @ Y1 )
                  = ( ap @ ( sub @ Y2 @ Y1 ) @ ( sub @ Y0 @ Y1 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f245]) ).

thf(f245,plain,
    ( axapp
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( sub @ ( ap @ Y2 @ Y0 ) @ Y1 )
                  = ( ap @ ( sub @ Y2 @ Y1 ) @ ( sub @ Y0 @ Y1 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f244]) ).

thf(f244,plain,
    ! [X0: term,X1: subst,X2: term] :
      ( ( ( sub @ ( ap @ X0 @ X2 ) @ X1 )
        = ( ap @ ( sub @ X0 @ X1 ) @ ( sub @ X2 @ X1 ) ) )
      = axapp ),
    inference(rectify,[],[f1]) ).

thf(f1,axiom,
    ! [X0: term,X2: subst,X1: term] :
      ( ( ( sub @ ( ap @ X0 @ X1 ) @ X2 )
        = ( ap @ ( sub @ X0 @ X2 ) @ ( sub @ X1 @ X2 ) ) )
      = axapp ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',axapp) ).

thf(f415,plain,
    ( hoasinduction_lem3_gthm
    = ( axapp
     => ( axvarcons
       => ( axvarid
         => ( axabs
           => ( axclos
             => ( axidl
               => ( axshiftcons
                 => ( axassoc
                   => ( axmap
                     => ( axidr
                       => ( axvarshift
                         => ( axscons
                           => ( ulamvar1
                             => ( ulamvarsh
                               => ( ulamvarind
                                 => ( apinj1
                                   => ( apinj2
                                     => ( laminj
                                       => ( shinj
                                         => ( lamnotap
                                           => ( apnotvar
                                             => ( lamnotvar
                                               => ( induction
                                                 => ( pushprop
                                                   => ( induction2lem
                                                     => ( induction2
                                                       => ( substmonoid
                                                         => ( termmset
                                                           => ( hoasapinj1
                                                             => ( hoasapinj2
                                                               => ( hoaslaminj
                                                                 => ( hoaslamnotap
                                                                   => ( hoaslamnotvar
                                                                     => ( hoasapnotvar
                                                                       => ( hoasinduction_lem1
                                                                         => ( hoasinduction_lem2
                                                                           => hoasinduction_lem3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f215]) ).

thf(f215,plain,
    ( hoasinduction_lem3_gthm
    = ( axapp
     => ( axvarcons
       => ( axvarid
         => ( axabs
           => ( axclos
             => ( axidl
               => ( axshiftcons
                 => ( axassoc
                   => ( axmap
                     => ( axidr
                       => ( axvarshift
                         => ( axscons
                           => ( ulamvar1
                             => ( ulamvarsh
                               => ( ulamvarind
                                 => ( apinj1
                                   => ( apinj2
                                     => ( laminj
                                       => ( shinj
                                         => ( lamnotap
                                           => ( apnotvar
                                             => ( lamnotvar
                                               => ( induction
                                                 => ( pushprop
                                                   => ( induction2lem
                                                     => ( induction2
                                                       => ( substmonoid
                                                         => ( termmset
                                                           => ( hoasapinj1
                                                             => ( hoasapinj2
                                                               => ( hoaslaminj
                                                                 => ( hoaslamnotap
                                                                   => ( hoaslamnotvar
                                                                     => ( hoasapnotvar
                                                                       => ( hoasinduction_lem1
                                                                         => ( hoasinduction_lem2
                                                                           => hoasinduction_lem3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f214]) ).

thf(f214,plain,
    ( ( hoasinduction_lem3_gthm = axapp )
   => ( axvarcons
     => ( axvarid
       => ( axabs
         => ( axclos
           => ( axidl
             => ( axshiftcons
               => ( axassoc
                 => ( axmap
                   => ( axidr
                     => ( axvarshift
                       => ( axscons
                         => ( ulamvar1
                           => ( ulamvarsh
                             => ( ulamvarind
                               => ( apinj1
                                 => ( apinj2
                                   => ( laminj
                                     => ( shinj
                                       => ( lamnotap
                                         => ( apnotvar
                                           => ( lamnotvar
                                             => ( induction
                                               => ( pushprop
                                                 => ( induction2lem
                                                   => ( induction2
                                                     => ( substmonoid
                                                       => ( termmset
                                                         => ( hoasapinj1
                                                           => ( hoasapinj2
                                                             => ( hoaslaminj
                                                               => ( hoaslamnotap
                                                                 => ( hoaslamnotvar
                                                                   => ( hoasapnotvar
                                                                     => ( hoasinduction_lem1
                                                                       => ( hoasinduction_lem2
                                                                         => hoasinduction_lem3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(rectify,[],[f100]) ).

thf(f100,axiom,
    ( ( hoasinduction_lem3_gthm = axapp )
   => ( axvarcons
     => ( axvarid
       => ( axabs
         => ( axclos
           => ( axidl
             => ( axshiftcons
               => ( axassoc
                 => ( axmap
                   => ( axidr
                     => ( axvarshift
                       => ( axscons
                         => ( ulamvar1
                           => ( ulamvarsh
                             => ( ulamvarind
                               => ( apinj1
                                 => ( apinj2
                                   => ( laminj
                                     => ( shinj
                                       => ( lamnotap
                                         => ( apnotvar
                                           => ( lamnotvar
                                             => ( induction
                                               => ( pushprop
                                                 => ( induction2lem
                                                   => ( induction2
                                                     => ( substmonoid
                                                       => ( termmset
                                                         => ( hoasapinj1
                                                           => ( hoasapinj2
                                                             => ( hoaslaminj
                                                               => ( hoaslamnotap
                                                                 => ( hoaslamnotvar
                                                                   => ( hoasapnotvar
                                                                     => ( hoasinduction_lem1
                                                                       => ( hoasinduction_lem2
                                                                         => hoasinduction_lem3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',hoasinduction_lem3_gthm) ).

thf(f431,plain,
    ( $true = ~ hoasinduction_lem3_gthm ),
    inference(cnf_transformation,[],[f195]) ).

thf(f195,plain,
    ( $true = ~ hoasinduction_lem3_gthm ),
    inference(fool_elimination,[],[f194]) ).

thf(f194,plain,
    ~ hoasinduction_lem3_gthm,
    inference(rectify,[],[f115]) ).

thf(f115,negated_conjecture,
    ~ hoasinduction_lem3_gthm,
    inference(negated_conjecture,[],[f114]) ).

thf(f114,conjecture,
    hoasinduction_lem3_gthm,
    file('/export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814',thm) ).

thf(f11874,plain,
    ( ( ( sub @ sK3 @ ( comp @ ( push @ sK9 @ sK10 ) @ sK11 ) )
      = ( sub @ sK3 @ ( push @ ( sub @ sK9 @ sK11 ) @ ( comp @ sK10 @ sK11 ) ) ) )
    = $false ),
    inference(forward_demodulation,[],[f11865,f697]) ).

thf(f697,plain,
    ! [X2: term,X3: subst,X1: subst] :
      ( ( sub @ ( sub @ X2 @ X1 ) @ X3 )
      = ( sub @ X2 @ ( comp @ X1 @ X3 ) ) ),
    inference(equality_proxy_clausification,[],[f691]) ).

thf(f691,plain,
    ! [X2: term,X3: subst,X1: subst] :
      ( ( ( sub @ X2 @ ( comp @ X1 @ X3 ) )
        = ( sub @ ( sub @ X2 @ X1 ) @ X3 ) )
      = $true ),
    inference(beta_eta_normalization,[],[f690]) ).

thf(f690,plain,
    ! [X2: term,X3: subst,X1: subst] :
      ( ( ^ [Y0: subst] :
            ( ( sub @ X2 @ ( comp @ X1 @ Y0 ) )
            = ( sub @ ( sub @ X2 @ X1 ) @ Y0 ) )
        @ X3 )
      = $true ),
    inference(pi_clausification,[],[f684]) ).

thf(f684,plain,
    ! [X2: term,X1: subst] :
      ( $true
      = ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( sub @ X2 @ ( comp @ X1 @ Y0 ) )
            = ( sub @ ( sub @ X2 @ X1 ) @ Y0 ) ) ) ),
    inference(beta_eta_normalization,[],[f683]) ).

thf(f683,plain,
    ! [X2: term,X1: subst] :
      ( ( ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( ( sub @ Y0 @ ( comp @ X1 @ Y1 ) )
                = ( sub @ ( sub @ Y0 @ X1 ) @ Y1 ) ) )
        @ X2 )
      = $true ),
    inference(pi_clausification,[],[f637]) ).

thf(f637,plain,
    ! [X1: subst] :
      ( $true
      = ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( ( sub @ Y0 @ ( comp @ X1 @ Y1 ) )
                = ( sub @ ( sub @ Y0 @ X1 ) @ Y1 ) ) ) ) ),
    inference(beta_eta_normalization,[],[f636]) ).

thf(f636,plain,
    ! [X1: subst] :
      ( ( ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( sub @ Y1 @ ( comp @ Y0 @ Y2 ) )
                    = ( sub @ ( sub @ Y1 @ Y0 ) @ Y2 ) ) ) )
        @ X1 )
      = $true ),
    inference(pi_clausification,[],[f604]) ).

thf(f11865,plain,
    ( $false
    = ( ( sub @ ( sub @ sK3 @ ( push @ sK9 @ sK10 ) ) @ sK11 )
      = ( sub @ sK3 @ ( push @ ( sub @ sK9 @ sK11 ) @ ( comp @ sK10 @ sK11 ) ) ) ) ),
    inference(beta_eta_normalization,[],[f11841]) ).

thf(f11841,plain,
    ( ( ^ [Y0: subst] :
          ( ( sub @ ( sub @ sK3 @ ( push @ sK9 @ sK10 ) ) @ Y0 )
          = ( sub @ sK3 @ ( push @ ( sub @ sK9 @ Y0 ) @ ( comp @ sK10 @ Y0 ) ) ) )
      @ sK11 )
    = $false ),
    inference(sigma_clausification,[],[f11817]) ).

thf(f11817,plain,
    ( ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( sub @ ( sub @ sK3 @ ( push @ sK9 @ sK10 ) ) @ Y0 )
          = ( sub @ sK3 @ ( push @ ( sub @ sK9 @ Y0 ) @ ( comp @ sK10 @ Y0 ) ) ) ) )
    = $false ),
    inference(beta_eta_normalization,[],[f11808]) ).

thf(f11808,plain,
    ( $false
    = ( ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( ( sub @ ( sub @ sK3 @ ( push @ sK9 @ Y0 ) ) @ Y1 )
              = ( sub @ sK3 @ ( push @ ( sub @ sK9 @ Y1 ) @ ( comp @ Y0 @ Y1 ) ) ) ) )
      @ sK10 ) ),
    inference(sigma_clausification,[],[f11793]) ).

thf(f11793,plain,
    ( ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( ( sub @ ( sub @ sK3 @ ( push @ sK9 @ Y0 ) ) @ Y1 )
              = ( sub @ sK3 @ ( push @ ( sub @ sK9 @ Y1 ) @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
    = $false ),
    inference(beta_eta_normalization,[],[f11783]) ).

thf(f11783,plain,
    ( ( ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( sub @ ( sub @ sK3 @ ( push @ Y0 @ Y1 ) ) @ Y2 )
                  = ( sub @ sK3 @ ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
      @ sK9 )
    = $false ),
    inference(sigma_clausification,[],[f5293]) ).

thf(f5293,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( sub @ ( sub @ sK3 @ ( push @ Y0 @ Y1 ) ) @ Y2 )
                  = ( sub @ sK3 @ ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) ) )
    = $false ),
    inference(trivial_inequality_removal,[],[f5292]) ).

thf(f5292,plain,
    ( ( $true = $false )
    | ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( sub @ ( sub @ sK3 @ ( push @ Y0 @ Y1 ) ) @ Y2 )
                    = ( sub @ sK3 @ ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) ) )
      = $false ) ),
    inference(forward_demodulation,[],[f5291,f4796]) ).

thf(f4796,plain,
    ( ( sK2 @ id @ ( lam @ sK3 ) @ id )
    = $false ),
    inference(binary_proxy_clausification,[],[f4593]) ).

thf(f4593,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( ( sK2 @ id @ Y0 @ id )
           => ( sK2 @ id @ ( sub @ sK3 @ ( push @ Y0 @ id ) ) @ id ) ) )
     => ( sK2 @ id @ ( lam @ sK3 ) @ id ) )
    = $false ),
    inference(beta_eta_normalization,[],[f4568]) ).

thf(f4568,plain,
    ( ( ^ [Y0: term] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( ( sK2 @ id @ Y1 @ id )
               => ( sK2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
         => ( sK2 @ id @ ( lam @ Y0 ) @ id ) )
      @ sK3 )
    = $false ),
    inference(sigma_clausification,[],[f4461]) ).

thf(f4461,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( ( sK2 @ id @ Y1 @ id )
               => ( sK2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
         => ( sK2 @ id @ ( lam @ Y0 ) @ id ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f4401]) ).

thf(f4401,plain,
    ( ( ( !! @ ( subst > term > term )
        @ ^ [Y0: subst > term > term] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                          = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( sK2 @ id @ Y1 @ id )
                   => ( sK2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
             => ( sK2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
     => ( !! @ term
        @ ^ [Y0: term] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( sK2 @ id @ Y1 @ id )
                 => ( sK2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
           => ( sK2 @ id @ ( lam @ Y0 ) @ id ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f4394]) ).

thf(f4394,plain,
    ( ( $true
     => ( ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                            = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sK2 @ id @ Y1 @ id )
                     => ( sK2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
               => ( sK2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
       => ( !! @ term
          @ ^ [Y0: term] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( sK2 @ id @ Y1 @ id )
                   => ( sK2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
             => ( sK2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f4174,f4186]) ).

thf(f4186,plain,
    ( ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( sK2 @ ( comp @ Y0 @ Y1 ) @ ( sub @ Y3 @ Y1 ) @ Y2 )
                     => ( sK2 @ Y0 @ Y3 @ ( comp @ Y1 @ Y2 ) ) ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f4174]) ).

thf(f4174,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( sK2 @ ( comp @ Y0 @ Y1 ) @ ( sub @ Y3 @ Y1 ) @ Y2 )
                       => ( sK2 @ Y0 @ Y3 @ ( comp @ Y1 @ Y2 ) ) ) ) ) ) )
     => ( ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                            = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sK2 @ id @ Y1 @ id )
                     => ( sK2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
               => ( sK2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
       => ( !! @ term
          @ ^ [Y0: term] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( sK2 @ id @ Y1 @ id )
                   => ( sK2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
             => ( sK2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f4162]) ).

thf(f4162,plain,
    ( $false
    = ( $true
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( sK2 @ ( comp @ Y0 @ Y1 ) @ ( sub @ Y3 @ Y1 ) @ Y2 )
                         => ( sK2 @ Y0 @ Y3 @ ( comp @ Y1 @ Y2 ) ) ) ) ) ) )
       => ( ( !! @ ( subst > term > term )
            @ ^ [Y0: subst > term > term] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                              = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( sK2 @ id @ Y1 @ id )
                       => ( sK2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
                 => ( sK2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
         => ( !! @ term
            @ ^ [Y0: term] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sK2 @ id @ Y1 @ id )
                     => ( sK2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
               => ( sK2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) ) ) ),
    inference(backward_demodulation,[],[f4072,f4139]) ).

thf(f4139,plain,
    ( $true
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ subst
                  @ ^ [Y3: subst] :
                      ( ( sK2 @ Y3 @ Y2 @ ( comp @ Y1 @ Y0 ) )
                     => ( sK2 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y0 ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f4072]) ).

thf(f4072,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( sK2 @ Y3 @ Y2 @ ( comp @ Y1 @ Y0 ) )
                       => ( sK2 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y0 ) ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( sK2 @ ( comp @ Y0 @ Y1 ) @ ( sub @ Y3 @ Y1 ) @ Y2 )
                         => ( sK2 @ Y0 @ Y3 @ ( comp @ Y1 @ Y2 ) ) ) ) ) ) )
       => ( ( !! @ ( subst > term > term )
            @ ^ [Y0: subst > term > term] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                              = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( sK2 @ id @ Y1 @ id )
                       => ( sK2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
                 => ( sK2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
         => ( !! @ term
            @ ^ [Y0: term] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sK2 @ id @ Y1 @ id )
                     => ( sK2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
               => ( sK2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) ) )
    = $false ),
    inference(beta_eta_normalization,[],[f4066]) ).

thf(f4066,plain,
    ( ( ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                           => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ term
                          @ ^ [Y4: term] :
                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y1: subst > term > term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y2 @ id )
                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                     => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) )
      @ sK2 )
    = $false ),
    inference(sigma_clausification,[],[f4004]) ).

thf(f4004,plain,
    ( ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                           => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ term
                          @ ^ [Y4: term] :
                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y1: subst > term > term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y2 @ id )
                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                     => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f4000]) ).

thf(f4000,plain,
    ( ( $true
     => ( !! @ ( subst > term > subst > $o )
        @ ^ [Y0: subst > term > subst > $o] :
            ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                             => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( !! @ term
                            @ ^ [Y4: term] :
                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
             => ( ( !! @ ( subst > term > term )
                  @ ^ [Y1: subst > term > term] :
                      ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                    = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ id @ Y2 @ id )
                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y2 @ id )
                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f3946,f3969]) ).

thf(f3969,plain,
    ( $true
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( !! @ term
                        @ ^ [Y4: term] :
                            ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                           => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ term
                          @ ^ [Y4: term] :
                              ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ id @ Y1 @ id )
                       => ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ id @ Y1 @ id )
                       => ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f3946]) ).

thf(f3946,plain,
    ( ( ( !! @ ( subst > term > subst > $o )
        @ ^ [Y0: subst > term > subst > $o] :
            ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ term
                          @ ^ [Y4: term] :
                              ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                             => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( !! @ term
                            @ ^ [Y4: term] :
                                ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ id @ Y1 @ id )
                         => ( ( Y0 @ id @ Y2 @ id )
                           => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ id @ Y1 @ id )
                         => ( ( Y0 @ id @ Y2 @ id )
                           => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
     => ( !! @ ( subst > term > subst > $o )
        @ ^ [Y0: subst > term > subst > $o] :
            ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                             => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( !! @ term
                            @ ^ [Y4: term] :
                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
             => ( ( !! @ ( subst > term > term )
                  @ ^ [Y1: subst > term > term] :
                      ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                    = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ id @ Y2 @ id )
                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y2 @ id )
                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f3936]) ).

thf(f3936,plain,
    ( ( $true
     => ( ( !! @ ( subst > term > subst > $o )
          @ ^ [Y0: subst > term > subst > $o] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( !! @ term
                            @ ^ [Y4: term] :
                                ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                               => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ term
                              @ ^ [Y4: term] :
                                  ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y1 @ id )
                           => ( ( Y0 @ id @ Y2 @ id )
                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y1 @ id )
                           => ( ( Y0 @ id @ Y2 @ id )
                             => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
       => ( !! @ ( subst > term > subst > $o )
          @ ^ [Y0: subst > term > subst > $o] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( !! @ subst
                            @ ^ [Y4: subst] :
                                ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                               => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ term
                              @ ^ [Y4: term] :
                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
               => ( ( !! @ ( subst > term > term )
                    @ ^ [Y1: subst > term > term] :
                        ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                      = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ id @ Y2 @ id )
                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ id @ Y2 @ id )
                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f3837,f3852]) ).

thf(f3852,plain,
    ( $true
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( !! @ term
                        @ ^ [Y4: term] :
                            ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ ( sub @ Y1 @ id ) )
                   => ( Y0 @ id @ Y1 @ id ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f3837]) ).

thf(f3837,plain,
    ( ( ( !! @ ( subst > term > subst > $o )
        @ ^ [Y0: subst > term > subst > $o] :
            ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ term
                          @ ^ [Y4: term] :
                              ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                             => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( !! @ subst
                            @ ^ [Y4: subst] :
                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ ( sub @ Y1 @ id ) )
                     => ( Y0 @ id @ Y1 @ id ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
     => ( ( !! @ ( subst > term > subst > $o )
          @ ^ [Y0: subst > term > subst > $o] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( !! @ term
                            @ ^ [Y4: term] :
                                ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                               => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ term
                              @ ^ [Y4: term] :
                                  ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y1 @ id )
                           => ( ( Y0 @ id @ Y2 @ id )
                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y1 @ id )
                           => ( ( Y0 @ id @ Y2 @ id )
                             => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
       => ( !! @ ( subst > term > subst > $o )
          @ ^ [Y0: subst > term > subst > $o] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( !! @ subst
                            @ ^ [Y4: subst] :
                                ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                               => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ term
                              @ ^ [Y4: term] :
                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
               => ( ( !! @ ( subst > term > term )
                    @ ^ [Y1: subst > term > term] :
                        ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                      = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ id @ Y2 @ id )
                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ id @ Y2 @ id )
                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f3828]) ).

thf(f3828,plain,
    ( ( $true
     => ( ( !! @ ( subst > term > subst > $o )
          @ ^ [Y0: subst > term > subst > $o] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( !! @ term
                            @ ^ [Y4: term] :
                                ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                               => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ ( sub @ Y1 @ id ) )
                       => ( Y0 @ id @ Y1 @ id ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
       => ( ( !! @ ( subst > term > subst > $o )
            @ ^ [Y0: subst > term > subst > $o] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ term
                              @ ^ [Y4: term] :
                                  ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                 => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ term
                                @ ^ [Y4: term] :
                                    ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                   => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ id @ Y1 @ id )
                             => ( ( Y0 @ id @ Y2 @ id )
                               => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ id @ Y1 @ id )
                             => ( ( Y0 @ id @ Y2 @ id )
                               => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
         => ( !! @ ( subst > term > subst > $o )
            @ ^ [Y0: subst > term > subst > $o] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                 => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ term
                                @ ^ [Y4: term] :
                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                   => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > term )
                      @ ^ [Y1: subst > term > term] :
                          ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                        = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ id @ Y2 @ id )
                                 => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                           => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ id @ Y2 @ id )
                               => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                         => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f3795,f3820]) ).

thf(f3820,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f3795]) ).

thf(f3795,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
     => ( ( !! @ ( subst > term > subst > $o )
          @ ^ [Y0: subst > term > subst > $o] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( !! @ term
                            @ ^ [Y4: term] :
                                ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                               => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ ( sub @ Y1 @ id ) )
                       => ( Y0 @ id @ Y1 @ id ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
       => ( ( !! @ ( subst > term > subst > $o )
            @ ^ [Y0: subst > term > subst > $o] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ term
                              @ ^ [Y4: term] :
                                  ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                 => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ term
                                @ ^ [Y4: term] :
                                    ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                   => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ id @ Y1 @ id )
                             => ( ( Y0 @ id @ Y2 @ id )
                               => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ id @ Y1 @ id )
                             => ( ( Y0 @ id @ Y2 @ id )
                               => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
         => ( !! @ ( subst > term > subst > $o )
            @ ^ [Y0: subst > term > subst > $o] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                 => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ term
                                @ ^ [Y4: term] :
                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                   => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > term )
                      @ ^ [Y1: subst > term > term] :
                          ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                        = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ id @ Y2 @ id )
                                 => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                           => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ id @ Y2 @ id )
                               => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                         => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f3791]) ).

thf(f3791,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
       => ( ( !! @ ( subst > term > subst > $o )
            @ ^ [Y0: subst > term > subst > $o] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ term
                              @ ^ [Y4: term] :
                                  ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ ( sub @ Y1 @ id ) )
                         => ( Y0 @ id @ Y1 @ id ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
         => ( ( !! @ ( subst > term > subst > $o )
              @ ^ [Y0: subst > term > subst > $o] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ term
                                @ ^ [Y4: term] :
                                    ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                   => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ term
                                  @ ^ [Y4: term] :
                                      ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ id @ Y1 @ id )
                               => ( ( Y0 @ id @ Y2 @ id )
                                 => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ id @ Y1 @ id )
                               => ( ( Y0 @ id @ Y2 @ id )
                                 => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
           => ( !! @ ( subst > term > subst > $o )
              @ ^ [Y0: subst > term > subst > $o] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                   => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ term
                                  @ ^ [Y4: term] :
                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > term )
                        @ ^ [Y1: subst > term > term] :
                            ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                          = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ id @ Y2 @ id )
                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                             => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ id @ Y2 @ id )
                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f3738,f3761]) ).

thf(f3761,plain,
    ( ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f3738]) ).

thf(f3738,plain,
    ( ( ( !! @ ( subst > term > term )
        @ ^ [Y0: subst > term > term] :
            ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
       => ( ( !! @ ( subst > term > subst > $o )
            @ ^ [Y0: subst > term > subst > $o] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ term
                              @ ^ [Y4: term] :
                                  ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ ( sub @ Y1 @ id ) )
                         => ( Y0 @ id @ Y1 @ id ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
         => ( ( !! @ ( subst > term > subst > $o )
              @ ^ [Y0: subst > term > subst > $o] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ term
                                @ ^ [Y4: term] :
                                    ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                   => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ term
                                  @ ^ [Y4: term] :
                                      ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ id @ Y1 @ id )
                               => ( ( Y0 @ id @ Y2 @ id )
                                 => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ id @ Y1 @ id )
                               => ( ( Y0 @ id @ Y2 @ id )
                                 => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
           => ( !! @ ( subst > term > subst > $o )
              @ ^ [Y0: subst > term > subst > $o] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                   => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ term
                                  @ ^ [Y4: term] :
                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > term )
                        @ ^ [Y1: subst > term > term] :
                            ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                          = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ id @ Y2 @ id )
                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                             => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ id @ Y2 @ id )
                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f3732]) ).

thf(f3732,plain,
    ( ( $true
     => ( ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
         => ( ( !! @ ( subst > term > subst > $o )
              @ ^ [Y0: subst > term > subst > $o] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ term
                                @ ^ [Y4: term] :
                                    ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                   => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ ( sub @ Y1 @ id ) )
                           => ( Y0 @ id @ Y1 @ id ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
           => ( ( !! @ ( subst > term > subst > $o )
                @ ^ [Y0: subst > term > subst > $o] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ term
                                  @ ^ [Y4: term] :
                                      ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                     => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ term
                                    @ ^ [Y4: term] :
                                        ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                       => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ id @ Y1 @ id )
                                 => ( ( Y0 @ id @ Y2 @ id )
                                   => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ id @ Y1 @ id )
                                 => ( ( Y0 @ id @ Y2 @ id )
                                   => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
             => ( !! @ ( subst > term > subst > $o )
                @ ^ [Y0: subst > term > subst > $o] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                     => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ term
                                    @ ^ [Y4: term] :
                                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                       => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > term )
                          @ ^ [Y1: subst > term > term] :
                              ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                            = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ id @ Y2 @ id )
                                     => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                               => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ id @ Y2 @ id )
                                   => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                             => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f3699,f3708]) ).

thf(f3708,plain,
    ( $true
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
         => ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f3699]) ).

thf(f3699,plain,
    ( ( ( !! @ ( subst > term > term )
        @ ^ [Y0: subst > term > term] :
            ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                          = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
           => ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                     != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
     => ( ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
         => ( ( !! @ ( subst > term > subst > $o )
              @ ^ [Y0: subst > term > subst > $o] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ term
                                @ ^ [Y4: term] :
                                    ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                   => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ ( sub @ Y1 @ id ) )
                           => ( Y0 @ id @ Y1 @ id ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
           => ( ( !! @ ( subst > term > subst > $o )
                @ ^ [Y0: subst > term > subst > $o] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ term
                                  @ ^ [Y4: term] :
                                      ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                     => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ term
                                    @ ^ [Y4: term] :
                                        ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                       => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ id @ Y1 @ id )
                                 => ( ( Y0 @ id @ Y2 @ id )
                                   => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ id @ Y1 @ id )
                                 => ( ( Y0 @ id @ Y2 @ id )
                                   => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
             => ( !! @ ( subst > term > subst > $o )
                @ ^ [Y0: subst > term > subst > $o] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                     => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ term
                                    @ ^ [Y4: term] :
                                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                       => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > term )
                          @ ^ [Y1: subst > term > term] :
                              ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                            = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ id @ Y2 @ id )
                                     => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                               => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ id @ Y2 @ id )
                                   => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                             => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f3694]) ).

thf(f3694,plain,
    ( ( $true
     => ( ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                            = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
       => ( ( !! @ ( subst > term > term )
            @ ^ [Y0: subst > term > term] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
           => ( ( !! @ ( subst > term > subst > $o )
                @ ^ [Y0: subst > term > subst > $o] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ term
                                  @ ^ [Y4: term] :
                                      ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ ( sub @ Y1 @ id ) )
                             => ( Y0 @ id @ Y1 @ id ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
             => ( ( !! @ ( subst > term > subst > $o )
                  @ ^ [Y0: subst > term > subst > $o] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ term
                                    @ ^ [Y4: term] :
                                        ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                       => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ term
                                      @ ^ [Y4: term] :
                                          ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ id @ Y1 @ id )
                                   => ( ( Y0 @ id @ Y2 @ id )
                                     => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ id @ Y1 @ id )
                                   => ( ( Y0 @ id @ Y2 @ id )
                                     => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
               => ( !! @ ( subst > term > subst > $o )
                  @ ^ [Y0: subst > term > subst > $o] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                       => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ term
                                      @ ^ [Y4: term] :
                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > term )
                            @ ^ [Y1: subst > term > term] :
                                ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ id @ Y2 @ id )
                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                 => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ id @ Y2 @ id )
                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f3351,f3355]) ).

thf(f3355,plain,
    ( $true
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                        = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
         => ( !! @ ( subst > term > term )
            @ ^ [Y1: subst > term > term] :
                ( ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                              = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
               => ( ( ( lam @ ( Y0 @ sh @ one ) )
                    = ( lam @ ( Y1 @ sh @ one ) ) )
                 => ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( Y1 @ Y2 @ Y3 )
                            = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f3351]) ).

thf(f3351,plain,
    ( ( ( !! @ ( subst > term > term )
        @ ^ [Y0: subst > term > term] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                          = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
           => ( !! @ ( subst > term > term )
              @ ^ [Y1: subst > term > term] :
                  ( ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( !! @ subst
                            @ ^ [Y4: subst] :
                                ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                 => ( ( ( lam @ ( Y0 @ sh @ one ) )
                      = ( lam @ ( Y1 @ sh @ one ) ) )
                   => ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( Y1 @ Y2 @ Y3 )
                              = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
     => ( ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                            = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
       => ( ( !! @ ( subst > term > term )
            @ ^ [Y0: subst > term > term] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
           => ( ( !! @ ( subst > term > subst > $o )
                @ ^ [Y0: subst > term > subst > $o] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ term
                                  @ ^ [Y4: term] :
                                      ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ ( sub @ Y1 @ id ) )
                             => ( Y0 @ id @ Y1 @ id ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
             => ( ( !! @ ( subst > term > subst > $o )
                  @ ^ [Y0: subst > term > subst > $o] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ term
                                    @ ^ [Y4: term] :
                                        ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                       => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ term
                                      @ ^ [Y4: term] :
                                          ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ id @ Y1 @ id )
                                   => ( ( Y0 @ id @ Y2 @ id )
                                     => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ id @ Y1 @ id )
                                   => ( ( Y0 @ id @ Y2 @ id )
                                     => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
               => ( !! @ ( subst > term > subst > $o )
                  @ ^ [Y0: subst > term > subst > $o] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                       => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ term
                                      @ ^ [Y4: term] :
                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > term )
                            @ ^ [Y1: subst > term > term] :
                                ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ id @ Y2 @ id )
                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                 => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ id @ Y2 @ id )
                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f3334]) ).

thf(f3334,plain,
    ( ( $true
     => ( ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                            = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
             => ( !! @ ( subst > term > term )
                @ ^ [Y1: subst > term > term] :
                    ( ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                  = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                   => ( ( ( lam @ ( Y0 @ sh @ one ) )
                        = ( lam @ ( Y1 @ sh @ one ) ) )
                     => ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( Y1 @ Y2 @ Y3 )
                                = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
       => ( ( !! @ ( subst > term > term )
            @ ^ [Y0: subst > term > term] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                              = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                         != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
         => ( ( !! @ ( subst > term > term )
              @ ^ [Y0: subst > term > term] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
             => ( ( !! @ ( subst > term > subst > $o )
                  @ ^ [Y0: subst > term > subst > $o] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ term
                                    @ ^ [Y4: term] :
                                        ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                       => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                         => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ ( sub @ Y1 @ id ) )
                               => ( Y0 @ id @ Y1 @ id ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
               => ( ( !! @ ( subst > term > subst > $o )
                    @ ^ [Y0: subst > term > subst > $o] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ term
                                      @ ^ [Y4: term] :
                                          ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                         => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                       => ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ term
                                        @ ^ [Y4: term] :
                                            ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                           => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ id @ Y1 @ id )
                                     => ( ( Y0 @ id @ Y2 @ id )
                                       => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ id @ Y1 @ id )
                                     => ( ( Y0 @ id @ Y2 @ id )
                                       => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                 => ( !! @ ( subst > term > subst > $o )
                    @ ^ [Y0: subst > term > subst > $o] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                         => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                       => ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ term
                                        @ ^ [Y4: term] :
                                            ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                           => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > term )
                              @ ^ [Y1: subst > term > term] :
                                  ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ id @ Y2 @ id )
                                         => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                   => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ id @ Y2 @ id )
                                       => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                 => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f3219,f3239]) ).

thf(f3239,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                        = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                     => ( Y2 = Y1 ) ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f3219]) ).

thf(f3219,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                          = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                       => ( Y2 = Y1 ) ) ) ) ) )
     => ( ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                            = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
             => ( !! @ ( subst > term > term )
                @ ^ [Y1: subst > term > term] :
                    ( ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                  = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                   => ( ( ( lam @ ( Y0 @ sh @ one ) )
                        = ( lam @ ( Y1 @ sh @ one ) ) )
                     => ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( Y1 @ Y2 @ Y3 )
                                = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
       => ( ( !! @ ( subst > term > term )
            @ ^ [Y0: subst > term > term] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                              = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                         != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
         => ( ( !! @ ( subst > term > term )
              @ ^ [Y0: subst > term > term] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
             => ( ( !! @ ( subst > term > subst > $o )
                  @ ^ [Y0: subst > term > subst > $o] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ term
                                    @ ^ [Y4: term] :
                                        ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                       => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                         => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ ( sub @ Y1 @ id ) )
                               => ( Y0 @ id @ Y1 @ id ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
               => ( ( !! @ ( subst > term > subst > $o )
                    @ ^ [Y0: subst > term > subst > $o] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ term
                                      @ ^ [Y4: term] :
                                          ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                         => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                       => ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ term
                                        @ ^ [Y4: term] :
                                            ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                           => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ id @ Y1 @ id )
                                     => ( ( Y0 @ id @ Y2 @ id )
                                       => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ id @ Y1 @ id )
                                     => ( ( Y0 @ id @ Y2 @ id )
                                       => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                 => ( !! @ ( subst > term > subst > $o )
                    @ ^ [Y0: subst > term > subst > $o] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                         => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                       => ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ term
                                        @ ^ [Y4: term] :
                                            ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                           => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > term )
                              @ ^ [Y1: subst > term > term] :
                                  ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ id @ Y2 @ id )
                                         => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                   => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ id @ Y2 @ id )
                                       => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                 => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f3213]) ).

thf(f3213,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                            = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                         => ( Y2 = Y1 ) ) ) ) ) )
       => ( ( !! @ ( subst > term > term )
            @ ^ [Y0: subst > term > term] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                              = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
               => ( !! @ ( subst > term > term )
                  @ ^ [Y1: subst > term > term] :
                      ( ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                    = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                     => ( ( ( lam @ ( Y0 @ sh @ one ) )
                          = ( lam @ ( Y1 @ sh @ one ) ) )
                       => ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( Y1 @ Y2 @ Y3 )
                                  = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
         => ( ( !! @ ( subst > term > term )
              @ ^ [Y0: subst > term > term] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                           != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y0: subst > term > term] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
               => ( ( !! @ ( subst > term > subst > $o )
                    @ ^ [Y0: subst > term > subst > $o] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ term
                                      @ ^ [Y4: term] :
                                          ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                         => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                       => ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                           => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ ( sub @ Y1 @ id ) )
                                 => ( Y0 @ id @ Y1 @ id ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > subst > $o )
                      @ ^ [Y0: subst > term > subst > $o] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ term
                                        @ ^ [Y4: term] :
                                            ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                           => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                         => ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ term
                                          @ ^ [Y4: term] :
                                              ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ id @ Y1 @ id )
                                       => ( ( Y0 @ id @ Y2 @ id )
                                         => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ id @ Y1 @ id )
                                       => ( ( Y0 @ id @ Y2 @ id )
                                         => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                   => ( !! @ ( subst > term > subst > $o )
                      @ ^ [Y0: subst > term > subst > $o] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                           => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                         => ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ term
                                          @ ^ [Y4: term] :
                                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > term )
                                @ ^ [Y1: subst > term > term] :
                                    ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ id @ Y2 @ id )
                                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                     => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ id @ Y2 @ id )
                                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f3025,f3079]) ).

thf(f3079,plain,
    ( $true
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                        = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                     => ( Y2 = Y0 ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f3025]) ).

thf(f3025,plain,
    ( $false
    = ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                          = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                       => ( Y2 = Y0 ) ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                            = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                         => ( Y2 = Y1 ) ) ) ) ) )
       => ( ( !! @ ( subst > term > term )
            @ ^ [Y0: subst > term > term] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                              = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
               => ( !! @ ( subst > term > term )
                  @ ^ [Y1: subst > term > term] :
                      ( ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                    = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                     => ( ( ( lam @ ( Y0 @ sh @ one ) )
                          = ( lam @ ( Y1 @ sh @ one ) ) )
                       => ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( Y1 @ Y2 @ Y3 )
                                  = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
         => ( ( !! @ ( subst > term > term )
              @ ^ [Y0: subst > term > term] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                           != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y0: subst > term > term] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
               => ( ( !! @ ( subst > term > subst > $o )
                    @ ^ [Y0: subst > term > subst > $o] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ term
                                      @ ^ [Y4: term] :
                                          ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                         => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                       => ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                           => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ ( sub @ Y1 @ id ) )
                                 => ( Y0 @ id @ Y1 @ id ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > subst > $o )
                      @ ^ [Y0: subst > term > subst > $o] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ term
                                        @ ^ [Y4: term] :
                                            ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                           => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                         => ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ term
                                          @ ^ [Y4: term] :
                                              ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ id @ Y1 @ id )
                                       => ( ( Y0 @ id @ Y2 @ id )
                                         => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ id @ Y1 @ id )
                                       => ( ( Y0 @ id @ Y2 @ id )
                                         => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                   => ( !! @ ( subst > term > subst > $o )
                      @ ^ [Y0: subst > term > subst > $o] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                           => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                         => ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ term
                                          @ ^ [Y4: term] :
                                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > term )
                                @ ^ [Y1: subst > term > term] :
                                    ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ id @ Y2 @ id )
                                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                     => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ id @ Y2 @ id )
                                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(boolean_simplification,[],[f3020]) ).

thf(f3020,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                            = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                         => ( Y2 = Y0 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                              = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                           => ( Y2 = Y1 ) ) ) ) ) )
         => ( ( !! @ ( subst > term > term )
              @ ^ [Y0: subst > term > term] :
                  ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                 => ( !! @ ( subst > term > term )
                    @ ^ [Y1: subst > term > term] :
                        ( ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                      = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                       => ( ( ( lam @ ( Y0 @ sh @ one ) )
                            = ( lam @ ( Y1 @ sh @ one ) ) )
                         => ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( Y1 @ Y2 @ Y3 )
                                    = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y0: subst > term > term] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                  = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
             => ( ( !! @ ( subst > term > term )
                  @ ^ [Y0: subst > term > term] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                 => ( ( !! @ ( subst > term > subst > $o )
                      @ ^ [Y0: subst > term > subst > $o] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ term
                                        @ ^ [Y4: term] :
                                            ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                         => ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ ( sub @ Y1 @ id ) )
                                   => ( Y0 @ id @ Y1 @ id ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > subst > $o )
                        @ ^ [Y0: subst > term > subst > $o] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ term
                                          @ ^ [Y4: term] :
                                              ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                             => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                           => ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ term
                                            @ ^ [Y4: term] :
                                                ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ id @ Y1 @ id )
                                         => ( ( Y0 @ id @ Y2 @ id )
                                           => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ id @ Y1 @ id )
                                         => ( ( Y0 @ id @ Y2 @ id )
                                           => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                     => ( !! @ ( subst > term > subst > $o )
                        @ ^ [Y0: subst > term > subst > $o] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                             => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                           => ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ term
                                            @ ^ [Y4: term] :
                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > term )
                                  @ ^ [Y1: subst > term > term] :
                                      ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                    = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ id @ Y2 @ id )
                                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ id @ Y2 @ id )
                                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f2873,f2878]) ).

thf(f2878,plain,
    ( ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                  = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f2873]) ).

thf(f2873,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                    = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                            = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                         => ( Y2 = Y0 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                              = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                           => ( Y2 = Y1 ) ) ) ) ) )
         => ( ( !! @ ( subst > term > term )
              @ ^ [Y0: subst > term > term] :
                  ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                 => ( !! @ ( subst > term > term )
                    @ ^ [Y1: subst > term > term] :
                        ( ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                      = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                       => ( ( ( lam @ ( Y0 @ sh @ one ) )
                            = ( lam @ ( Y1 @ sh @ one ) ) )
                         => ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( Y1 @ Y2 @ Y3 )
                                    = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y0: subst > term > term] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                  = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
             => ( ( !! @ ( subst > term > term )
                  @ ^ [Y0: subst > term > term] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                 => ( ( !! @ ( subst > term > subst > $o )
                      @ ^ [Y0: subst > term > subst > $o] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ term
                                        @ ^ [Y4: term] :
                                            ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                         => ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ ( sub @ Y1 @ id ) )
                                   => ( Y0 @ id @ Y1 @ id ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > subst > $o )
                        @ ^ [Y0: subst > term > subst > $o] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ term
                                          @ ^ [Y4: term] :
                                              ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                             => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                           => ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ term
                                            @ ^ [Y4: term] :
                                                ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ id @ Y1 @ id )
                                         => ( ( Y0 @ id @ Y2 @ id )
                                           => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ id @ Y1 @ id )
                                         => ( ( Y0 @ id @ Y2 @ id )
                                           => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                     => ( !! @ ( subst > term > subst > $o )
                        @ ^ [Y0: subst > term > subst > $o] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                             => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                           => ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ term
                                            @ ^ [Y4: term] :
                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > term )
                                  @ ^ [Y1: subst > term > term] :
                                      ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                    = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ id @ Y2 @ id )
                                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ id @ Y2 @ id )
                                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f2867]) ).

thf(f2867,plain,
    ( ( $true
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                      = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                              = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                           => ( Y2 = Y0 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                             => ( Y2 = Y1 ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y0: subst > term > term] :
                    ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                  = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                   => ( !! @ ( subst > term > term )
                      @ ^ [Y1: subst > term > term] :
                          ( ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                        = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                         => ( ( ( lam @ ( Y0 @ sh @ one ) )
                              = ( lam @ ( Y1 @ sh @ one ) ) )
                           => ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( Y1 @ Y2 @ Y3 )
                                      = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
             => ( ( !! @ ( subst > term > term )
                  @ ^ [Y0: subst > term > term] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                    = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
               => ( ( !! @ ( subst > term > term )
                    @ ^ [Y0: subst > term > term] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                   => ( ( !! @ ( subst > term > subst > $o )
                        @ ^ [Y0: subst > term > subst > $o] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ term
                                          @ ^ [Y4: term] :
                                              ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                             => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                           => ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ ( sub @ Y1 @ id ) )
                                     => ( Y0 @ id @ Y1 @ id ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > subst > $o )
                          @ ^ [Y0: subst > term > subst > $o] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ term
                                            @ ^ [Y4: term] :
                                                ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                               => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                             => ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ term
                                              @ ^ [Y4: term] :
                                                  ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ id @ Y1 @ id )
                                           => ( ( Y0 @ id @ Y2 @ id )
                                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ id @ Y1 @ id )
                                           => ( ( Y0 @ id @ Y2 @ id )
                                             => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                       => ( !! @ ( subst > term > subst > $o )
                          @ ^ [Y0: subst > term > subst > $o] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                               => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                             => ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ term
                                              @ ^ [Y4: term] :
                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > term )
                                    @ ^ [Y1: subst > term > term] :
                                        ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                      = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ id @ Y2 @ id )
                                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ id @ Y2 @ id )
                                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f2852,f2859]) ).

thf(f2859,plain,
    ( ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                  = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f2852]) ).

thf(f2852,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                    = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                      = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                              = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                           => ( Y2 = Y0 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                             => ( Y2 = Y1 ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y0: subst > term > term] :
                    ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                  = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                   => ( !! @ ( subst > term > term )
                      @ ^ [Y1: subst > term > term] :
                          ( ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                        = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                         => ( ( ( lam @ ( Y0 @ sh @ one ) )
                              = ( lam @ ( Y1 @ sh @ one ) ) )
                           => ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( Y1 @ Y2 @ Y3 )
                                      = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
             => ( ( !! @ ( subst > term > term )
                  @ ^ [Y0: subst > term > term] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                    = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
               => ( ( !! @ ( subst > term > term )
                    @ ^ [Y0: subst > term > term] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                   => ( ( !! @ ( subst > term > subst > $o )
                        @ ^ [Y0: subst > term > subst > $o] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ term
                                          @ ^ [Y4: term] :
                                              ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                             => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                           => ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ ( sub @ Y1 @ id ) )
                                     => ( Y0 @ id @ Y1 @ id ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > subst > $o )
                          @ ^ [Y0: subst > term > subst > $o] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ term
                                            @ ^ [Y4: term] :
                                                ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                               => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                             => ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ term
                                              @ ^ [Y4: term] :
                                                  ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ id @ Y1 @ id )
                                           => ( ( Y0 @ id @ Y2 @ id )
                                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ id @ Y1 @ id )
                                           => ( ( Y0 @ id @ Y2 @ id )
                                             => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                       => ( !! @ ( subst > term > subst > $o )
                          @ ^ [Y0: subst > term > subst > $o] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                               => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                             => ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ term
                                              @ ^ [Y4: term] :
                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > term )
                                    @ ^ [Y1: subst > term > term] :
                                        ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                      = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ id @ Y2 @ id )
                                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ id @ Y2 @ id )
                                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f2848]) ).

thf(f2848,plain,
    ( ( $true
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                      = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                        = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                             => ( Y2 = Y0 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                  = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                               => ( Y2 = Y1 ) ) ) ) ) )
             => ( ( !! @ ( subst > term > term )
                  @ ^ [Y0: subst > term > term] :
                      ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                    = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                     => ( !! @ ( subst > term > term )
                        @ ^ [Y1: subst > term > term] :
                            ( ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                          = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                           => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                = ( lam @ ( Y1 @ sh @ one ) ) )
                             => ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( Y1 @ Y2 @ Y3 )
                                        = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
               => ( ( !! @ ( subst > term > term )
                    @ ^ [Y0: subst > term > term] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                      = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                 != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > term )
                      @ ^ [Y0: subst > term > term] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                     => ( ( !! @ ( subst > term > subst > $o )
                          @ ^ [Y0: subst > term > subst > $o] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ term
                                            @ ^ [Y4: term] :
                                                ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                               => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                             => ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ ( sub @ Y1 @ id ) )
                                       => ( Y0 @ id @ Y1 @ id ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > subst > $o )
                            @ ^ [Y0: subst > term > subst > $o] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ term
                                              @ ^ [Y4: term] :
                                                  ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                 => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                               => ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ term
                                                @ ^ [Y4: term] :
                                                    ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                   => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ id @ Y1 @ id )
                                             => ( ( Y0 @ id @ Y2 @ id )
                                               => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ id @ Y1 @ id )
                                             => ( ( Y0 @ id @ Y2 @ id )
                                               => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                         => ( !! @ ( subst > term > subst > $o )
                            @ ^ [Y0: subst > term > subst > $o] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                 => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                               => ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ term
                                                @ ^ [Y4: term] :
                                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                   => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > term )
                                      @ ^ [Y1: subst > term > term] :
                                          ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                        = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ id @ Y2 @ id )
                                                 => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                           => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ id @ Y2 @ id )
                                               => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                         => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f2769,f2788]) ).

thf(f2788,plain,
    ( ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( ( var @ Y1 )
               => ( Y0 @ Y1 ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( Y0 @ Y2 )
                     => ( ( Y0 @ Y1 )
                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term @ Y0 ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f2769]) ).

thf(f2769,plain,
    ( $false
    = ( ( !! @ ( term > $o )
        @ ^ [Y0: term > $o] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( Y0 @ Y1 ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ Y2 )
                       => ( ( Y0 @ Y1 )
                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y2 )
                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                     => ( Y0 @ ( lam @ Y1 ) ) ) )
               => ( !! @ term @ Y0 ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                      = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                        = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                             => ( Y2 = Y0 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                  = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                               => ( Y2 = Y1 ) ) ) ) ) )
             => ( ( !! @ ( subst > term > term )
                  @ ^ [Y0: subst > term > term] :
                      ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                    = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                     => ( !! @ ( subst > term > term )
                        @ ^ [Y1: subst > term > term] :
                            ( ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                          = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                           => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                = ( lam @ ( Y1 @ sh @ one ) ) )
                             => ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( Y1 @ Y2 @ Y3 )
                                        = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
               => ( ( !! @ ( subst > term > term )
                    @ ^ [Y0: subst > term > term] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                      = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                 != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > term )
                      @ ^ [Y0: subst > term > term] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                     => ( ( !! @ ( subst > term > subst > $o )
                          @ ^ [Y0: subst > term > subst > $o] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ term
                                            @ ^ [Y4: term] :
                                                ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                               => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                             => ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ ( sub @ Y1 @ id ) )
                                       => ( Y0 @ id @ Y1 @ id ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > subst > $o )
                            @ ^ [Y0: subst > term > subst > $o] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ term
                                              @ ^ [Y4: term] :
                                                  ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                 => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                               => ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ term
                                                @ ^ [Y4: term] :
                                                    ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                   => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ id @ Y1 @ id )
                                             => ( ( Y0 @ id @ Y2 @ id )
                                               => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ id @ Y1 @ id )
                                             => ( ( Y0 @ id @ Y2 @ id )
                                               => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                         => ( !! @ ( subst > term > subst > $o )
                            @ ^ [Y0: subst > term > subst > $o] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                 => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                               => ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ term
                                                @ ^ [Y4: term] :
                                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                   => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > term )
                                      @ ^ [Y1: subst > term > term] :
                                          ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                        = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ id @ Y2 @ id )
                                                 => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                           => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ id @ Y2 @ id )
                                               => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                         => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(boolean_simplification,[],[f2762]) ).

thf(f2762,plain,
    ( ( $true
     => ( ( !! @ ( term > $o )
          @ ^ [Y0: term > $o] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ Y1 ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( ( Y0 @ Y1 )
                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                 => ( !! @ term @ Y0 ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                        = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                          = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                  = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                               => ( Y2 = Y0 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                    = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                 => ( Y2 = Y1 ) ) ) ) ) )
               => ( ( !! @ ( subst > term > term )
                    @ ^ [Y0: subst > term > term] :
                        ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                      = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                       => ( !! @ ( subst > term > term )
                          @ ^ [Y1: subst > term > term] :
                              ( ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                            = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                             => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                  = ( lam @ ( Y1 @ sh @ one ) ) )
                               => ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( Y1 @ Y2 @ Y3 )
                                          = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > term )
                      @ ^ [Y0: subst > term > term] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > term )
                        @ ^ [Y0: subst > term > term] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                       => ( ( !! @ ( subst > term > subst > $o )
                            @ ^ [Y0: subst > term > subst > $o] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ term
                                              @ ^ [Y4: term] :
                                                  ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                               => ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ ( sub @ Y1 @ id ) )
                                         => ( Y0 @ id @ Y1 @ id ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > subst > $o )
                              @ ^ [Y0: subst > term > subst > $o] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ term
                                                @ ^ [Y4: term] :
                                                    ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                   => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y4: term] :
                                                      ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ id @ Y1 @ id )
                                               => ( ( Y0 @ id @ Y2 @ id )
                                                 => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ id @ Y1 @ id )
                                               => ( ( Y0 @ id @ Y2 @ id )
                                                 => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                           => ( !! @ ( subst > term > subst > $o )
                              @ ^ [Y0: subst > term > subst > $o] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                   => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y4: term] :
                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > term )
                                        @ ^ [Y1: subst > term > term] :
                                            ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                          = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ id @ Y2 @ id )
                                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                             => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ id @ Y2 @ id )
                                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f1956,f1972]) ).

thf(f1972,plain,
    ( ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( Y0 @ Y2 )
                   => ( ( Y0 @ Y1 )
                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ Y2 )
                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                 => ( Y0 @ ( lam @ Y1 ) ) ) )
           => ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                     => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f1956]) ).

thf(f1956,plain,
    ( ( ( !! @ ( term > $o )
        @ ^ [Y0: term > $o] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( Y0 @ Y2 )
                     => ( ( Y0 @ Y1 )
                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( var @ Y3 )
                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                       => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
     => ( ( !! @ ( term > $o )
          @ ^ [Y0: term > $o] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ Y1 ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( ( Y0 @ Y1 )
                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                 => ( !! @ term @ Y0 ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                        = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                          = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                  = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                               => ( Y2 = Y0 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                    = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                 => ( Y2 = Y1 ) ) ) ) ) )
               => ( ( !! @ ( subst > term > term )
                    @ ^ [Y0: subst > term > term] :
                        ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                      = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                       => ( !! @ ( subst > term > term )
                          @ ^ [Y1: subst > term > term] :
                              ( ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                            = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                             => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                  = ( lam @ ( Y1 @ sh @ one ) ) )
                               => ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( Y1 @ Y2 @ Y3 )
                                          = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > term )
                      @ ^ [Y0: subst > term > term] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > term )
                        @ ^ [Y0: subst > term > term] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                       => ( ( !! @ ( subst > term > subst > $o )
                            @ ^ [Y0: subst > term > subst > $o] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ term
                                              @ ^ [Y4: term] :
                                                  ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                               => ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ ( sub @ Y1 @ id ) )
                                         => ( Y0 @ id @ Y1 @ id ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > subst > $o )
                              @ ^ [Y0: subst > term > subst > $o] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ term
                                                @ ^ [Y4: term] :
                                                    ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                   => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y4: term] :
                                                      ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ id @ Y1 @ id )
                                               => ( ( Y0 @ id @ Y2 @ id )
                                                 => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ id @ Y1 @ id )
                                               => ( ( Y0 @ id @ Y2 @ id )
                                                 => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                           => ( !! @ ( subst > term > subst > $o )
                              @ ^ [Y0: subst > term > subst > $o] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                   => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y4: term] :
                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > term )
                                        @ ^ [Y1: subst > term > term] :
                                            ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                          = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ id @ Y2 @ id )
                                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                             => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ id @ Y2 @ id )
                                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f1952]) ).

thf(f1952,plain,
    ( ( $true
     => ( ( !! @ ( term > $o )
          @ ^ [Y0: term > $o] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ Y2 )
                       => ( ( Y0 @ Y1 )
                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y2 )
                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                     => ( Y0 @ ( lam @ Y1 ) ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                         => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
       => ( ( !! @ ( term > $o )
            @ ^ [Y0: term > $o] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( Y0 @ Y1 ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y2 )
                           => ( ( Y0 @ Y1 )
                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                   => ( !! @ term @ Y0 ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                          = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                            = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                    = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                 => ( Y2 = Y0 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                      = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                   => ( Y2 = Y1 ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > term )
                      @ ^ [Y0: subst > term > term] :
                          ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                        = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                         => ( !! @ ( subst > term > term )
                            @ ^ [Y1: subst > term > term] :
                                ( ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                              = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                               => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                    = ( lam @ ( Y1 @ sh @ one ) ) )
                                 => ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( Y1 @ Y2 @ Y3 )
                                            = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > term )
                        @ ^ [Y0: subst > term > term] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                          = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                     != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > term )
                          @ ^ [Y0: subst > term > term] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                         => ( ( !! @ ( subst > term > subst > $o )
                              @ ^ [Y0: subst > term > subst > $o] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ term
                                                @ ^ [Y4: term] :
                                                    ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                   => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                 => ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ ( sub @ Y1 @ id ) )
                                           => ( Y0 @ id @ Y1 @ id ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > subst > $o )
                                @ ^ [Y0: subst > term > subst > $o] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y4: term] :
                                                      ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                     => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                   => ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y4: term] :
                                                        ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                       => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ id @ Y1 @ id )
                                                 => ( ( Y0 @ id @ Y2 @ id )
                                                   => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ id @ Y1 @ id )
                                                 => ( ( Y0 @ id @ Y2 @ id )
                                                   => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                             => ( !! @ ( subst > term > subst > $o )
                                @ ^ [Y0: subst > term > subst > $o] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                     => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                   => ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y4: term] :
                                                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                       => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > term )
                                          @ ^ [Y1: subst > term > term] :
                                              ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                            = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ id @ Y2 @ id )
                                                     => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                               => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ id @ Y2 @ id )
                                                   => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                             => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f1899,f1936]) ).

thf(f1936,plain,
    ( $true
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( var @ Y3 )
                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                 => ( ( Y0 @ Y1 )
                   => ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( var @ Y3 )
                         => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f1899]) ).

thf(f1899,plain,
    ( ( ( !! @ ( term > $o )
        @ ^ [Y0: term > $o] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( var @ Y3 )
                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                   => ( ( Y0 @ Y1 )
                     => ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
     => ( ( !! @ ( term > $o )
          @ ^ [Y0: term > $o] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ Y2 )
                       => ( ( Y0 @ Y1 )
                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y2 )
                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                     => ( Y0 @ ( lam @ Y1 ) ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                         => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
       => ( ( !! @ ( term > $o )
            @ ^ [Y0: term > $o] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( Y0 @ Y1 ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y2 )
                           => ( ( Y0 @ Y1 )
                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                   => ( !! @ term @ Y0 ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                          = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                            = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                    = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                 => ( Y2 = Y0 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                      = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                   => ( Y2 = Y1 ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > term )
                      @ ^ [Y0: subst > term > term] :
                          ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                        = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                         => ( !! @ ( subst > term > term )
                            @ ^ [Y1: subst > term > term] :
                                ( ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                              = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                               => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                    = ( lam @ ( Y1 @ sh @ one ) ) )
                                 => ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( Y1 @ Y2 @ Y3 )
                                            = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > term )
                        @ ^ [Y0: subst > term > term] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                          = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                     != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > term )
                          @ ^ [Y0: subst > term > term] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                         => ( ( !! @ ( subst > term > subst > $o )
                              @ ^ [Y0: subst > term > subst > $o] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ term
                                                @ ^ [Y4: term] :
                                                    ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                   => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                 => ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ ( sub @ Y1 @ id ) )
                                           => ( Y0 @ id @ Y1 @ id ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > subst > $o )
                                @ ^ [Y0: subst > term > subst > $o] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y4: term] :
                                                      ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                     => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                   => ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y4: term] :
                                                        ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                       => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ id @ Y1 @ id )
                                                 => ( ( Y0 @ id @ Y2 @ id )
                                                   => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ id @ Y1 @ id )
                                                 => ( ( Y0 @ id @ Y2 @ id )
                                                   => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                             => ( !! @ ( subst > term > subst > $o )
                                @ ^ [Y0: subst > term > subst > $o] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                     => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                   => ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y4: term] :
                                                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                       => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > term )
                                          @ ^ [Y1: subst > term > term] :
                                              ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                            = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ id @ Y2 @ id )
                                                     => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                               => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ id @ Y2 @ id )
                                                   => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                             => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f1894]) ).

thf(f1894,plain,
    ( ( $true
     => ( ( !! @ ( term > $o )
          @ ^ [Y0: term > $o] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                     => ( ( Y0 @ Y1 )
                       => ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( var @ Y3 )
                             => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
       => ( ( !! @ ( term > $o )
            @ ^ [Y0: term > $o] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( ( Y0 @ Y1 )
                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                           => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
         => ( ( !! @ ( term > $o )
              @ ^ [Y0: term > $o] :
                  ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( Y0 @ Y1 ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( ( Y0 @ Y1 )
                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                     => ( !! @ term @ Y0 ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                            = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                              = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                      = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                   => ( Y2 = Y0 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                        = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                     => ( Y2 = Y1 ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > term )
                        @ ^ [Y0: subst > term > term] :
                            ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                          = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                           => ( !! @ ( subst > term > term )
                              @ ^ [Y1: subst > term > term] :
                                  ( ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                 => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                      = ( lam @ ( Y1 @ sh @ one ) ) )
                                   => ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( Y1 @ Y2 @ Y3 )
                                              = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > term )
                          @ ^ [Y0: subst > term > term] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                            = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > term )
                            @ ^ [Y0: subst > term > term] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                           => ( ( !! @ ( subst > term > subst > $o )
                                @ ^ [Y0: subst > term > subst > $o] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y4: term] :
                                                      ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                   => ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ ( sub @ Y1 @ id ) )
                                             => ( Y0 @ id @ Y1 @ id ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > subst > $o )
                                  @ ^ [Y0: subst > term > subst > $o] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y4: term] :
                                                        ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                       => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y4: term] :
                                                          ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ id @ Y1 @ id )
                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                     => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ id @ Y1 @ id )
                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                     => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                               => ( !! @ ( subst > term > subst > $o )
                                  @ ^ [Y0: subst > term > subst > $o] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                       => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y4: term] :
                                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > term )
                                            @ ^ [Y1: subst > term > term] :
                                                ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ id @ Y2 @ id )
                                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                 => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ id @ Y2 @ id )
                                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f1430,f1433]) ).

thf(f1433,plain,
    ( ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( ( var @ Y1 )
               => ( Y0 @ Y1 ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( Y0 @ Y2 )
                     => ( ( Y0 @ Y1 )
                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( Y0 @ Y1 )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term @ Y0 ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f1430]) ).

thf(f1430,plain,
    ( ( ( !! @ ( term > $o )
        @ ^ [Y0: term > $o] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( Y0 @ Y1 ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ Y2 )
                       => ( ( Y0 @ Y1 )
                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( Y0 @ Y1 )
                     => ( Y0 @ ( lam @ Y1 ) ) ) )
               => ( !! @ term @ Y0 ) ) ) ) )
     => ( ( !! @ ( term > $o )
          @ ^ [Y0: term > $o] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                     => ( ( Y0 @ Y1 )
                       => ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( var @ Y3 )
                             => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
       => ( ( !! @ ( term > $o )
            @ ^ [Y0: term > $o] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( ( Y0 @ Y1 )
                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                           => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
         => ( ( !! @ ( term > $o )
              @ ^ [Y0: term > $o] :
                  ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( Y0 @ Y1 ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( ( Y0 @ Y1 )
                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                     => ( !! @ term @ Y0 ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                            = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                              = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                      = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                   => ( Y2 = Y0 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                        = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                     => ( Y2 = Y1 ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > term )
                        @ ^ [Y0: subst > term > term] :
                            ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                          = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                           => ( !! @ ( subst > term > term )
                              @ ^ [Y1: subst > term > term] :
                                  ( ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                 => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                      = ( lam @ ( Y1 @ sh @ one ) ) )
                                   => ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( Y1 @ Y2 @ Y3 )
                                              = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > term )
                          @ ^ [Y0: subst > term > term] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                            = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > term )
                            @ ^ [Y0: subst > term > term] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                           => ( ( !! @ ( subst > term > subst > $o )
                                @ ^ [Y0: subst > term > subst > $o] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y4: term] :
                                                      ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                   => ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ ( sub @ Y1 @ id ) )
                                             => ( Y0 @ id @ Y1 @ id ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > subst > $o )
                                  @ ^ [Y0: subst > term > subst > $o] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y4: term] :
                                                        ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                       => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y4: term] :
                                                          ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ id @ Y1 @ id )
                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                     => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ id @ Y1 @ id )
                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                     => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                               => ( !! @ ( subst > term > subst > $o )
                                  @ ^ [Y0: subst > term > subst > $o] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                       => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y4: term] :
                                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > term )
                                            @ ^ [Y1: subst > term > term] :
                                                ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ id @ Y2 @ id )
                                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                 => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ id @ Y2 @ id )
                                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f1428]) ).

thf(f1428,plain,
    ( ( $true
     => ( ( !! @ ( term > $o )
          @ ^ [Y0: term > $o] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ Y1 ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( ( Y0 @ Y1 )
                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( Y0 @ Y1 )
                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                 => ( !! @ term @ Y0 ) ) ) ) )
       => ( ( !! @ ( term > $o )
            @ ^ [Y0: term > $o] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( var @ Y3 )
                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                       => ( ( Y0 @ Y1 )
                         => ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
         => ( ( !! @ ( term > $o )
              @ ^ [Y0: term > $o] :
                  ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y2 )
                           => ( ( Y0 @ Y1 )
                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                             => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
           => ( ( !! @ ( term > $o )
                @ ^ [Y0: term > $o] :
                    ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( Y0 @ Y1 ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                       => ( !! @ term @ Y0 ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                              = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                        = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                     => ( Y2 = Y0 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                          = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                       => ( Y2 = Y1 ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > term )
                          @ ^ [Y0: subst > term > term] :
                              ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                            = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                             => ( !! @ ( subst > term > term )
                                @ ^ [Y1: subst > term > term] :
                                    ( ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                  = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                   => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                        = ( lam @ ( Y1 @ sh @ one ) ) )
                                     => ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( Y1 @ Y2 @ Y3 )
                                                = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > term )
                            @ ^ [Y0: subst > term > term] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                              = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                         != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > term )
                              @ ^ [Y0: subst > term > term] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                             => ( ( !! @ ( subst > term > subst > $o )
                                  @ ^ [Y0: subst > term > subst > $o] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y4: term] :
                                                        ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                       => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                     => ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                         => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ ( sub @ Y1 @ id ) )
                                               => ( Y0 @ id @ Y1 @ id ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > subst > $o )
                                    @ ^ [Y0: subst > term > subst > $o] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y4: term] :
                                                          ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                         => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                       => ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y4: term] :
                                                            ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                           => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ id @ Y1 @ id )
                                                     => ( ( Y0 @ id @ Y2 @ id )
                                                       => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ id @ Y1 @ id )
                                                     => ( ( Y0 @ id @ Y2 @ id )
                                                       => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                 => ( !! @ ( subst > term > subst > $o )
                                    @ ^ [Y0: subst > term > subst > $o] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                         => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                       => ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y4: term] :
                                                            ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                           => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > term )
                                              @ ^ [Y1: subst > term > term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ id @ Y2 @ id )
                                                         => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                   => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ id @ Y2 @ id )
                                                       => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                 => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f1425,f1427]) ).

thf(f1427,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ~ ( var @ ( lam @ Y0 ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f1425]) ).

thf(f1425,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ~ ( var @ ( lam @ Y0 ) ) )
     => ( ( !! @ ( term > $o )
          @ ^ [Y0: term > $o] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ Y1 ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( ( Y0 @ Y1 )
                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( Y0 @ Y1 )
                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                 => ( !! @ term @ Y0 ) ) ) ) )
       => ( ( !! @ ( term > $o )
            @ ^ [Y0: term > $o] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( var @ Y3 )
                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                       => ( ( Y0 @ Y1 )
                         => ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
         => ( ( !! @ ( term > $o )
              @ ^ [Y0: term > $o] :
                  ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y2 )
                           => ( ( Y0 @ Y1 )
                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                             => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
           => ( ( !! @ ( term > $o )
                @ ^ [Y0: term > $o] :
                    ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( Y0 @ Y1 ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                       => ( !! @ term @ Y0 ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                              = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                        = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                     => ( Y2 = Y0 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                          = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                       => ( Y2 = Y1 ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > term )
                          @ ^ [Y0: subst > term > term] :
                              ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                            = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                             => ( !! @ ( subst > term > term )
                                @ ^ [Y1: subst > term > term] :
                                    ( ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                  = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                   => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                        = ( lam @ ( Y1 @ sh @ one ) ) )
                                     => ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( Y1 @ Y2 @ Y3 )
                                                = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > term )
                            @ ^ [Y0: subst > term > term] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                              = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                         != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > term )
                              @ ^ [Y0: subst > term > term] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                             => ( ( !! @ ( subst > term > subst > $o )
                                  @ ^ [Y0: subst > term > subst > $o] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y4: term] :
                                                        ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                       => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                     => ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                         => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ ( sub @ Y1 @ id ) )
                                               => ( Y0 @ id @ Y1 @ id ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > subst > $o )
                                    @ ^ [Y0: subst > term > subst > $o] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y4: term] :
                                                          ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                         => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                       => ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y4: term] :
                                                            ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                           => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ id @ Y1 @ id )
                                                     => ( ( Y0 @ id @ Y2 @ id )
                                                       => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ id @ Y1 @ id )
                                                     => ( ( Y0 @ id @ Y2 @ id )
                                                       => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                 => ( !! @ ( subst > term > subst > $o )
                                    @ ^ [Y0: subst > term > subst > $o] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                         => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                       => ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y4: term] :
                                                            ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                           => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > term )
                                              @ ^ [Y1: subst > term > term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ id @ Y2 @ id )
                                                         => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                   => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ id @ Y2 @ id )
                                                       => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                 => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f1422]) ).

thf(f1422,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ~ ( var @ ( lam @ Y0 ) ) )
       => ( ( !! @ ( term > $o )
            @ ^ [Y0: term > $o] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( Y0 @ Y1 ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y2 )
                           => ( ( Y0 @ Y1 )
                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( Y0 @ Y1 )
                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                   => ( !! @ term @ Y0 ) ) ) ) )
         => ( ( !! @ ( term > $o )
              @ ^ [Y0: term > $o] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                         => ( ( Y0 @ Y1 )
                           => ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
           => ( ( !! @ ( term > $o )
                @ ^ [Y0: term > $o] :
                    ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( ( Y0 @ Y1 )
                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                               => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
             => ( ( !! @ ( term > $o )
                  @ ^ [Y0: term > $o] :
                      ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( Y0 @ Y1 ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                         => ( !! @ term @ Y0 ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                  = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                          = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                       => ( Y2 = Y0 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                            = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                         => ( Y2 = Y1 ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > term )
                            @ ^ [Y0: subst > term > term] :
                                ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                              = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                               => ( !! @ ( subst > term > term )
                                  @ ^ [Y1: subst > term > term] :
                                      ( ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                    = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                     => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                          = ( lam @ ( Y1 @ sh @ one ) ) )
                                       => ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( Y1 @ Y2 @ Y3 )
                                                  = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > term )
                              @ ^ [Y0: subst > term > term] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                           != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > term )
                                @ ^ [Y0: subst > term > term] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                               => ( ( !! @ ( subst > term > subst > $o )
                                    @ ^ [Y0: subst > term > subst > $o] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y4: term] :
                                                          ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                         => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                       => ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                           => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( var @ ( sub @ Y1 @ id ) )
                                                 => ( Y0 @ id @ Y1 @ id ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( var @ Y1 )
                                                 => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > subst > $o )
                                      @ ^ [Y0: subst > term > subst > $o] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y4: term] :
                                                            ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                           => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                         => ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y4: term] :
                                                              ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ id @ Y1 @ id )
                                                       => ( ( Y0 @ id @ Y2 @ id )
                                                         => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ id @ Y1 @ id )
                                                       => ( ( Y0 @ id @ Y2 @ id )
                                                         => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                   => ( !! @ ( subst > term > subst > $o )
                                      @ ^ [Y0: subst > term > subst > $o] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                           => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                         => ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y4: term] :
                                                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > term )
                                                @ ^ [Y1: subst > term > term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ id @ Y2 @ id )
                                                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                     => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ id @ Y2 @ id )
                                                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f1399,f1421]) ).

thf(f1421,plain,
    ( $true
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f1399]) ).

thf(f1399,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ~ ( var @ ( lam @ Y0 ) ) )
       => ( ( !! @ ( term > $o )
            @ ^ [Y0: term > $o] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( Y0 @ Y1 ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y2 )
                           => ( ( Y0 @ Y1 )
                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( Y0 @ Y1 )
                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                   => ( !! @ term @ Y0 ) ) ) ) )
         => ( ( !! @ ( term > $o )
              @ ^ [Y0: term > $o] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                         => ( ( Y0 @ Y1 )
                           => ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
           => ( ( !! @ ( term > $o )
                @ ^ [Y0: term > $o] :
                    ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( ( Y0 @ Y1 )
                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                               => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
             => ( ( !! @ ( term > $o )
                  @ ^ [Y0: term > $o] :
                      ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( Y0 @ Y1 ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                         => ( !! @ term @ Y0 ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                  = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                          = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                       => ( Y2 = Y0 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                            = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                         => ( Y2 = Y1 ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > term )
                            @ ^ [Y0: subst > term > term] :
                                ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                              = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                               => ( !! @ ( subst > term > term )
                                  @ ^ [Y1: subst > term > term] :
                                      ( ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                    = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                     => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                          = ( lam @ ( Y1 @ sh @ one ) ) )
                                       => ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( Y1 @ Y2 @ Y3 )
                                                  = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > term )
                              @ ^ [Y0: subst > term > term] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                           != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > term )
                                @ ^ [Y0: subst > term > term] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                               => ( ( !! @ ( subst > term > subst > $o )
                                    @ ^ [Y0: subst > term > subst > $o] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y4: term] :
                                                          ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                         => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                       => ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                           => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( var @ ( sub @ Y1 @ id ) )
                                                 => ( Y0 @ id @ Y1 @ id ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( var @ Y1 )
                                                 => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > subst > $o )
                                      @ ^ [Y0: subst > term > subst > $o] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y4: term] :
                                                            ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                           => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                         => ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y4: term] :
                                                              ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ id @ Y1 @ id )
                                                       => ( ( Y0 @ id @ Y2 @ id )
                                                         => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ id @ Y1 @ id )
                                                       => ( ( Y0 @ id @ Y2 @ id )
                                                         => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                   => ( !! @ ( subst > term > subst > $o )
                                      @ ^ [Y0: subst > term > subst > $o] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                           => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                         => ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y4: term] :
                                                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > term )
                                                @ ^ [Y1: subst > term > term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ id @ Y2 @ id )
                                                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                     => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ id @ Y2 @ id )
                                                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f1396]) ).

thf(f1396,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ~ ( var @ ( lam @ Y0 ) ) )
         => ( ( !! @ ( term > $o )
              @ ^ [Y0: term > $o] :
                  ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( Y0 @ Y1 ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( ( Y0 @ Y1 )
                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( Y0 @ Y1 )
                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                     => ( !! @ term @ Y0 ) ) ) ) )
           => ( ( !! @ ( term > $o )
                @ ^ [Y0: term > $o] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                           => ( ( Y0 @ Y1 )
                             => ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
             => ( ( !! @ ( term > $o )
                  @ ^ [Y0: term > $o] :
                      ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                 => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
               => ( ( !! @ ( term > $o )
                    @ ^ [Y0: term > $o] :
                        ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( Y0 @ Y1 ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                           => ( !! @ term @ Y0 ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                  = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                    = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                            = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                         => ( Y2 = Y0 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                              = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                           => ( Y2 = Y1 ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > term )
                              @ ^ [Y0: subst > term > term] :
                                  ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                 => ( !! @ ( subst > term > term )
                                    @ ^ [Y1: subst > term > term] :
                                        ( ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                      = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                       => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                            = ( lam @ ( Y1 @ sh @ one ) ) )
                                         => ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( Y1 @ Y2 @ Y3 )
                                                    = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > term )
                                @ ^ [Y0: subst > term > term] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                  = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > term )
                                  @ ^ [Y0: subst > term > term] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                 => ( ( !! @ ( subst > term > subst > $o )
                                      @ ^ [Y0: subst > term > subst > $o] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y4: term] :
                                                            ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                         => ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( var @ ( sub @ Y1 @ id ) )
                                                   => ( Y0 @ id @ Y1 @ id ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( var @ Y1 )
                                                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > subst > $o )
                                        @ ^ [Y0: subst > term > subst > $o] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y4: term] :
                                                              ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                             => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                           => ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y4: term] :
                                                                ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ id @ Y1 @ id )
                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                           => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ id @ Y1 @ id )
                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                           => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                     => ( !! @ ( subst > term > subst > $o )
                                        @ ^ [Y0: subst > term > subst > $o] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                             => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                           => ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y4: term] :
                                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > term )
                                                  @ ^ [Y1: subst > term > term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                    = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ id @ Y2 @ id )
                                                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ id @ Y2 @ id )
                                                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f1340,f1368]) ).

thf(f1368,plain,
    ( $true
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( ap @ Y1 @ Y2 )
                 != ( lam @ Y0 ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f1340]) ).

thf(f1340,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( ap @ Y1 @ Y2 )
                   != ( lam @ Y0 ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ~ ( var @ ( lam @ Y0 ) ) )
         => ( ( !! @ ( term > $o )
              @ ^ [Y0: term > $o] :
                  ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( Y0 @ Y1 ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( ( Y0 @ Y1 )
                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( Y0 @ Y1 )
                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                     => ( !! @ term @ Y0 ) ) ) ) )
           => ( ( !! @ ( term > $o )
                @ ^ [Y0: term > $o] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                           => ( ( Y0 @ Y1 )
                             => ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
             => ( ( !! @ ( term > $o )
                  @ ^ [Y0: term > $o] :
                      ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                 => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
               => ( ( !! @ ( term > $o )
                    @ ^ [Y0: term > $o] :
                        ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( Y0 @ Y1 ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                           => ( !! @ term @ Y0 ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                  = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                    = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                            = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                         => ( Y2 = Y0 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                              = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                           => ( Y2 = Y1 ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > term )
                              @ ^ [Y0: subst > term > term] :
                                  ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                 => ( !! @ ( subst > term > term )
                                    @ ^ [Y1: subst > term > term] :
                                        ( ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                      = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                       => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                            = ( lam @ ( Y1 @ sh @ one ) ) )
                                         => ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( Y1 @ Y2 @ Y3 )
                                                    = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > term )
                                @ ^ [Y0: subst > term > term] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                  = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > term )
                                  @ ^ [Y0: subst > term > term] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                 => ( ( !! @ ( subst > term > subst > $o )
                                      @ ^ [Y0: subst > term > subst > $o] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y4: term] :
                                                            ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                         => ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( var @ ( sub @ Y1 @ id ) )
                                                   => ( Y0 @ id @ Y1 @ id ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( var @ Y1 )
                                                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > subst > $o )
                                        @ ^ [Y0: subst > term > subst > $o] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y4: term] :
                                                              ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                             => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                           => ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y4: term] :
                                                                ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ id @ Y1 @ id )
                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                           => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ id @ Y1 @ id )
                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                           => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                     => ( !! @ ( subst > term > subst > $o )
                                        @ ^ [Y0: subst > term > subst > $o] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                             => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                           => ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y4: term] :
                                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > term )
                                                  @ ^ [Y1: subst > term > term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                    = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ id @ Y2 @ id )
                                                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ id @ Y2 @ id )
                                                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f1338]) ).

thf(f1338,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( ap @ Y1 @ Y2 )
                     != ( lam @ Y0 ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ~ ( var @ ( lam @ Y0 ) ) )
           => ( ( !! @ ( term > $o )
                @ ^ [Y0: term > $o] :
                    ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( Y0 @ Y1 ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( Y0 @ Y1 )
                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                       => ( !! @ term @ Y0 ) ) ) ) )
             => ( ( !! @ ( term > $o )
                  @ ^ [Y0: term > $o] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                             => ( ( Y0 @ Y1 )
                               => ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
               => ( ( !! @ ( term > $o )
                    @ ^ [Y0: term > $o] :
                        ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                   => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                 => ( ( !! @ ( term > $o )
                      @ ^ [Y0: term > $o] :
                          ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( Y0 @ Y1 ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                             => ( !! @ term @ Y0 ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                    = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                      = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                              = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                           => ( Y2 = Y0 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                             => ( Y2 = Y1 ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > term )
                                @ ^ [Y0: subst > term > term] :
                                    ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                  = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                   => ( !! @ ( subst > term > term )
                                      @ ^ [Y1: subst > term > term] :
                                          ( ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                        = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                         => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                              = ( lam @ ( Y1 @ sh @ one ) ) )
                                           => ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( Y1 @ Y2 @ Y3 )
                                                      = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > term )
                                  @ ^ [Y0: subst > term > term] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                    = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > term )
                                    @ ^ [Y0: subst > term > term] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                   => ( ( !! @ ( subst > term > subst > $o )
                                        @ ^ [Y0: subst > term > subst > $o] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y4: term] :
                                                              ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                             => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                           => ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( var @ ( sub @ Y1 @ id ) )
                                                     => ( Y0 @ id @ Y1 @ id ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( var @ Y1 )
                                                     => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > subst > $o )
                                          @ ^ [Y0: subst > term > subst > $o] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y4: term] :
                                                                ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                               => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                             => ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y4: term] :
                                                                  ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ id @ Y1 @ id )
                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ id @ Y1 @ id )
                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                             => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                       => ( !! @ ( subst > term > subst > $o )
                                          @ ^ [Y0: subst > term > subst > $o] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                               => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                             => ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y4: term] :
                                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > term )
                                                    @ ^ [Y1: subst > term > term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                      = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ id @ Y2 @ id )
                                                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ id @ Y2 @ id )
                                                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f1323,f1329]) ).

thf(f1329,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( ( sub @ Y1 @ sh )
                = ( sub @ Y0 @ sh ) )
             => ( Y1 = Y0 ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f1323]) ).

thf(f1323,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( ( ( sub @ Y1 @ sh )
                  = ( sub @ Y0 @ sh ) )
               => ( Y1 = Y0 ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( ap @ Y1 @ Y2 )
                     != ( lam @ Y0 ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ~ ( var @ ( lam @ Y0 ) ) )
           => ( ( !! @ ( term > $o )
                @ ^ [Y0: term > $o] :
                    ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( Y0 @ Y1 ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( Y0 @ Y1 )
                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                       => ( !! @ term @ Y0 ) ) ) ) )
             => ( ( !! @ ( term > $o )
                  @ ^ [Y0: term > $o] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                             => ( ( Y0 @ Y1 )
                               => ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
               => ( ( !! @ ( term > $o )
                    @ ^ [Y0: term > $o] :
                        ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                   => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                 => ( ( !! @ ( term > $o )
                      @ ^ [Y0: term > $o] :
                          ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( Y0 @ Y1 ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                             => ( !! @ term @ Y0 ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                    = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                      = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                              = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                           => ( Y2 = Y0 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                             => ( Y2 = Y1 ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > term )
                                @ ^ [Y0: subst > term > term] :
                                    ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                  = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                   => ( !! @ ( subst > term > term )
                                      @ ^ [Y1: subst > term > term] :
                                          ( ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                        = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                         => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                              = ( lam @ ( Y1 @ sh @ one ) ) )
                                           => ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( Y1 @ Y2 @ Y3 )
                                                      = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > term )
                                  @ ^ [Y0: subst > term > term] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                    = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > term )
                                    @ ^ [Y0: subst > term > term] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                   => ( ( !! @ ( subst > term > subst > $o )
                                        @ ^ [Y0: subst > term > subst > $o] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y4: term] :
                                                              ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                             => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                           => ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( var @ ( sub @ Y1 @ id ) )
                                                     => ( Y0 @ id @ Y1 @ id ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( var @ Y1 )
                                                     => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > subst > $o )
                                          @ ^ [Y0: subst > term > subst > $o] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y4: term] :
                                                                ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                               => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                             => ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y4: term] :
                                                                  ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ id @ Y1 @ id )
                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ id @ Y1 @ id )
                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                             => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                       => ( !! @ ( subst > term > subst > $o )
                                          @ ^ [Y0: subst > term > subst > $o] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                               => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                             => ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y4: term] :
                                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > term )
                                                    @ ^ [Y1: subst > term > term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                      = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ id @ Y2 @ id )
                                                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ id @ Y2 @ id )
                                                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f1321]) ).

thf(f1321,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( ( sub @ Y1 @ sh )
                    = ( sub @ Y0 @ sh ) )
                 => ( Y1 = Y0 ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( ap @ Y1 @ Y2 )
                       != ( lam @ Y0 ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ~ ( var @ ( lam @ Y0 ) ) )
             => ( ( !! @ ( term > $o )
                  @ ^ [Y0: term > $o] :
                      ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( Y0 @ Y1 ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( Y0 @ Y1 )
                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                         => ( !! @ term @ Y0 ) ) ) ) )
               => ( ( !! @ ( term > $o )
                    @ ^ [Y0: term > $o] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                               => ( ( Y0 @ Y1 )
                                 => ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                 => ( ( !! @ ( term > $o )
                      @ ^ [Y0: term > $o] :
                          ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                     => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                   => ( ( !! @ ( term > $o )
                        @ ^ [Y0: term > $o] :
                            ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( Y0 @ Y1 ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                               => ( !! @ term @ Y0 ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                      = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                       => ( ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                        = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                             => ( Y2 = Y0 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                  = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                               => ( Y2 = Y1 ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > term )
                                  @ ^ [Y0: subst > term > term] :
                                      ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                    = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                     => ( !! @ ( subst > term > term )
                                        @ ^ [Y1: subst > term > term] :
                                            ( ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                          = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                           => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                = ( lam @ ( Y1 @ sh @ one ) ) )
                                             => ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( Y1 @ Y2 @ Y3 )
                                                        = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > term )
                                    @ ^ [Y0: subst > term > term] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                      = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                 != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > term )
                                      @ ^ [Y0: subst > term > term] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                     => ( ( !! @ ( subst > term > subst > $o )
                                          @ ^ [Y0: subst > term > subst > $o] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y4: term] :
                                                                ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                               => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                             => ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( var @ ( sub @ Y1 @ id ) )
                                                       => ( Y0 @ id @ Y1 @ id ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( var @ Y1 )
                                                       => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > subst > $o )
                                            @ ^ [Y0: subst > term > subst > $o] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y4: term] :
                                                                  ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                 => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                               => ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y4: term] :
                                                                    ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                   => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ id @ Y1 @ id )
                                                             => ( ( Y0 @ id @ Y2 @ id )
                                                               => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ id @ Y1 @ id )
                                                             => ( ( Y0 @ id @ Y2 @ id )
                                                               => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                         => ( !! @ ( subst > term > subst > $o )
                                            @ ^ [Y0: subst > term > subst > $o] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                 => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                               => ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y4: term] :
                                                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                   => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > term )
                                                      @ ^ [Y1: subst > term > term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                        = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                 => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                           => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ id @ Y2 @ id )
                                                               => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                         => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f1311,f1317]) ).

thf(f1317,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( ( lam @ Y1 )
                = ( lam @ Y0 ) )
             => ( Y1 = Y0 ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f1311]) ).

thf(f1311,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( ( ( lam @ Y1 )
                  = ( lam @ Y0 ) )
               => ( Y1 = Y0 ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( ( sub @ Y1 @ sh )
                    = ( sub @ Y0 @ sh ) )
                 => ( Y1 = Y0 ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( ap @ Y1 @ Y2 )
                       != ( lam @ Y0 ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ~ ( var @ ( lam @ Y0 ) ) )
             => ( ( !! @ ( term > $o )
                  @ ^ [Y0: term > $o] :
                      ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( Y0 @ Y1 ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( Y0 @ Y1 )
                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                         => ( !! @ term @ Y0 ) ) ) ) )
               => ( ( !! @ ( term > $o )
                    @ ^ [Y0: term > $o] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                               => ( ( Y0 @ Y1 )
                                 => ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                 => ( ( !! @ ( term > $o )
                      @ ^ [Y0: term > $o] :
                          ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                     => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                   => ( ( !! @ ( term > $o )
                        @ ^ [Y0: term > $o] :
                            ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( Y0 @ Y1 ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                               => ( !! @ term @ Y0 ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                      = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                       => ( ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                        = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                             => ( Y2 = Y0 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                  = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                               => ( Y2 = Y1 ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > term )
                                  @ ^ [Y0: subst > term > term] :
                                      ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                    = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                     => ( !! @ ( subst > term > term )
                                        @ ^ [Y1: subst > term > term] :
                                            ( ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                          = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                           => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                = ( lam @ ( Y1 @ sh @ one ) ) )
                                             => ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( Y1 @ Y2 @ Y3 )
                                                        = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > term )
                                    @ ^ [Y0: subst > term > term] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                      = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                 != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > term )
                                      @ ^ [Y0: subst > term > term] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                     => ( ( !! @ ( subst > term > subst > $o )
                                          @ ^ [Y0: subst > term > subst > $o] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y4: term] :
                                                                ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                               => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                             => ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( var @ ( sub @ Y1 @ id ) )
                                                       => ( Y0 @ id @ Y1 @ id ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( var @ Y1 )
                                                       => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > subst > $o )
                                            @ ^ [Y0: subst > term > subst > $o] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y4: term] :
                                                                  ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                 => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                               => ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y4: term] :
                                                                    ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                   => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ id @ Y1 @ id )
                                                             => ( ( Y0 @ id @ Y2 @ id )
                                                               => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ id @ Y1 @ id )
                                                             => ( ( Y0 @ id @ Y2 @ id )
                                                               => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                         => ( !! @ ( subst > term > subst > $o )
                                            @ ^ [Y0: subst > term > subst > $o] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                 => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                               => ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y4: term] :
                                                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                   => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > term )
                                                      @ ^ [Y1: subst > term > term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                        = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                 => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                           => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ id @ Y2 @ id )
                                                               => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                         => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f1309]) ).

thf(f1309,plain,
    ( $false
    = ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( ( lam @ Y1 )
                    = ( lam @ Y0 ) )
                 => ( Y1 = Y0 ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( ( ( sub @ Y1 @ sh )
                      = ( sub @ Y0 @ sh ) )
                   => ( Y1 = Y0 ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( ap @ Y1 @ Y2 )
                         != ( lam @ Y0 ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ~ ( var @ ( lam @ Y0 ) ) )
               => ( ( !! @ ( term > $o )
                    @ ^ [Y0: term > $o] :
                        ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( Y0 @ Y1 ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                           => ( !! @ term @ Y0 ) ) ) ) )
                 => ( ( !! @ ( term > $o )
                      @ ^ [Y0: term > $o] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                 => ( ( Y0 @ Y1 )
                                   => ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                   => ( ( !! @ ( term > $o )
                        @ ^ [Y0: term > $o] :
                            ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                       => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                     => ( ( !! @ ( term > $o )
                          @ ^ [Y0: term > $o] :
                              ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( Y0 @ Y1 ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                 => ( !! @ term @ Y0 ) ) ) ) )
                       => ( ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                        = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                         => ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                          = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                  = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                               => ( Y2 = Y0 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                    = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                 => ( Y2 = Y1 ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > term )
                                    @ ^ [Y0: subst > term > term] :
                                        ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                      = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                       => ( !! @ ( subst > term > term )
                                          @ ^ [Y1: subst > term > term] :
                                              ( ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                            = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                             => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                  = ( lam @ ( Y1 @ sh @ one ) ) )
                                               => ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( Y1 @ Y2 @ Y3 )
                                                          = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > term )
                                      @ ^ [Y0: subst > term > term] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > term )
                                        @ ^ [Y0: subst > term > term] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                       => ( ( !! @ ( subst > term > subst > $o )
                                            @ ^ [Y0: subst > term > subst > $o] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y4: term] :
                                                                  ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                               => ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( var @ ( sub @ Y1 @ id ) )
                                                         => ( Y0 @ id @ Y1 @ id ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( var @ Y1 )
                                                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > subst > $o )
                                              @ ^ [Y0: subst > term > subst > $o] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y4: term] :
                                                                    ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                   => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                 => ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y4: term] :
                                                                      ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ id @ Y1 @ id )
                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                 => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ id @ Y1 @ id )
                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                 => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                           => ( !! @ ( subst > term > subst > $o )
                                              @ ^ [Y0: subst > term > subst > $o] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                   => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                 => ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y4: term] :
                                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > term )
                                                        @ ^ [Y1: subst > term > term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                          = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                             => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(backward_demodulation,[],[f1124,f1128]) ).

thf(f1128,plain,
    ( $true
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ap @ Y2 @ Y3 )
                        = ( ap @ Y0 @ Y1 ) )
                     => ( Y3 = Y1 ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f1124]) ).

thf(f1124,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( ( ap @ Y2 @ Y3 )
                          = ( ap @ Y0 @ Y1 ) )
                       => ( Y3 = Y1 ) ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( ( lam @ Y1 )
                    = ( lam @ Y0 ) )
                 => ( Y1 = Y0 ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( ( ( sub @ Y1 @ sh )
                      = ( sub @ Y0 @ sh ) )
                   => ( Y1 = Y0 ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( ap @ Y1 @ Y2 )
                         != ( lam @ Y0 ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ~ ( var @ ( lam @ Y0 ) ) )
               => ( ( !! @ ( term > $o )
                    @ ^ [Y0: term > $o] :
                        ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( Y0 @ Y1 ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                           => ( !! @ term @ Y0 ) ) ) ) )
                 => ( ( !! @ ( term > $o )
                      @ ^ [Y0: term > $o] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                 => ( ( Y0 @ Y1 )
                                   => ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                   => ( ( !! @ ( term > $o )
                        @ ^ [Y0: term > $o] :
                            ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                       => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                     => ( ( !! @ ( term > $o )
                          @ ^ [Y0: term > $o] :
                              ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( Y0 @ Y1 ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                 => ( !! @ term @ Y0 ) ) ) ) )
                       => ( ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                        = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                         => ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                          = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                  = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                               => ( Y2 = Y0 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                    = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                 => ( Y2 = Y1 ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > term )
                                    @ ^ [Y0: subst > term > term] :
                                        ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                      = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                       => ( !! @ ( subst > term > term )
                                          @ ^ [Y1: subst > term > term] :
                                              ( ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                            = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                             => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                  = ( lam @ ( Y1 @ sh @ one ) ) )
                                               => ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( Y1 @ Y2 @ Y3 )
                                                          = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > term )
                                      @ ^ [Y0: subst > term > term] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > term )
                                        @ ^ [Y0: subst > term > term] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                       => ( ( !! @ ( subst > term > subst > $o )
                                            @ ^ [Y0: subst > term > subst > $o] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y4: term] :
                                                                  ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                               => ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( var @ ( sub @ Y1 @ id ) )
                                                         => ( Y0 @ id @ Y1 @ id ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( var @ Y1 )
                                                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > subst > $o )
                                              @ ^ [Y0: subst > term > subst > $o] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y4: term] :
                                                                    ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                   => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                 => ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y4: term] :
                                                                      ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ id @ Y1 @ id )
                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                 => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ id @ Y1 @ id )
                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                 => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                           => ( !! @ ( subst > term > subst > $o )
                                              @ ^ [Y0: subst > term > subst > $o] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                   => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                 => ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y4: term] :
                                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > term )
                                                        @ ^ [Y1: subst > term > term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                          = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                             => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f1121]) ).

thf(f1121,plain,
    ( $false
    = ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( ( ap @ Y2 @ Y3 )
                            = ( ap @ Y0 @ Y1 ) )
                         => ( Y3 = Y1 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( ( ( lam @ Y1 )
                      = ( lam @ Y0 ) )
                   => ( Y1 = Y0 ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( ( sub @ Y1 @ sh )
                        = ( sub @ Y0 @ sh ) )
                     => ( Y1 = Y0 ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( ap @ Y1 @ Y2 )
                           != ( lam @ Y0 ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ~ ( var @ ( lam @ Y0 ) ) )
                 => ( ( !! @ ( term > $o )
                      @ ^ [Y0: term > $o] :
                          ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( Y0 @ Y1 ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                             => ( !! @ term @ Y0 ) ) ) ) )
                   => ( ( !! @ ( term > $o )
                        @ ^ [Y0: term > $o] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                   => ( ( Y0 @ Y1 )
                                     => ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                     => ( ( !! @ ( term > $o )
                          @ ^ [Y0: term > $o] :
                              ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                         => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                       => ( ( !! @ ( term > $o )
                            @ ^ [Y0: term > $o] :
                                ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( Y0 @ Y1 ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                   => ( !! @ term @ Y0 ) ) ) ) )
                         => ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                          = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                           => ( ( !! @ subst
                                @ ^ [Y0: subst] :
                                    ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                            = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                    = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                 => ( Y2 = Y0 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                      = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                   => ( Y2 = Y1 ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > term )
                                      @ ^ [Y0: subst > term > term] :
                                          ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                        = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                         => ( !! @ ( subst > term > term )
                                            @ ^ [Y1: subst > term > term] :
                                                ( ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                              = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                               => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                    = ( lam @ ( Y1 @ sh @ one ) ) )
                                                 => ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( Y1 @ Y2 @ Y3 )
                                                            = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > term )
                                        @ ^ [Y0: subst > term > term] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                          = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                     != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > term )
                                          @ ^ [Y0: subst > term > term] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                         => ( ( !! @ ( subst > term > subst > $o )
                                              @ ^ [Y0: subst > term > subst > $o] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y4: term] :
                                                                    ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                   => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                 => ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( var @ ( sub @ Y1 @ id ) )
                                                           => ( Y0 @ id @ Y1 @ id ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( var @ Y1 )
                                                           => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > subst > $o )
                                                @ ^ [Y0: subst > term > subst > $o] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y4: term] :
                                                                      ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                     => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                   => ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y4: term] :
                                                                        ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                       => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ id @ Y1 @ id )
                                                                 => ( ( Y0 @ id @ Y2 @ id )
                                                                   => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ id @ Y1 @ id )
                                                                 => ( ( Y0 @ id @ Y2 @ id )
                                                                   => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                             => ( !! @ ( subst > term > subst > $o )
                                                @ ^ [Y0: subst > term > subst > $o] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                     => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                   => ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y4: term] :
                                                                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                       => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > term )
                                                          @ ^ [Y1: subst > term > term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                            = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                     => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                               => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                   => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                             => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(backward_demodulation,[],[f1097,f1109]) ).

thf(f1109,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ap @ Y2 @ Y3 )
                        = ( ap @ Y1 @ Y0 ) )
                     => ( Y2 = Y1 ) ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f1097]) ).

thf(f1097,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( ( ap @ Y2 @ Y3 )
                          = ( ap @ Y1 @ Y0 ) )
                       => ( Y2 = Y1 ) ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( ( ap @ Y2 @ Y3 )
                            = ( ap @ Y0 @ Y1 ) )
                         => ( Y3 = Y1 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( ( ( lam @ Y1 )
                      = ( lam @ Y0 ) )
                   => ( Y1 = Y0 ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( ( sub @ Y1 @ sh )
                        = ( sub @ Y0 @ sh ) )
                     => ( Y1 = Y0 ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( ap @ Y1 @ Y2 )
                           != ( lam @ Y0 ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ~ ( var @ ( lam @ Y0 ) ) )
                 => ( ( !! @ ( term > $o )
                      @ ^ [Y0: term > $o] :
                          ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( Y0 @ Y1 ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                             => ( !! @ term @ Y0 ) ) ) ) )
                   => ( ( !! @ ( term > $o )
                        @ ^ [Y0: term > $o] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                   => ( ( Y0 @ Y1 )
                                     => ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                     => ( ( !! @ ( term > $o )
                          @ ^ [Y0: term > $o] :
                              ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                         => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                       => ( ( !! @ ( term > $o )
                            @ ^ [Y0: term > $o] :
                                ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( Y0 @ Y1 ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                   => ( !! @ term @ Y0 ) ) ) ) )
                         => ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                          = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                           => ( ( !! @ subst
                                @ ^ [Y0: subst] :
                                    ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                            = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                    = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                 => ( Y2 = Y0 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                      = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                   => ( Y2 = Y1 ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > term )
                                      @ ^ [Y0: subst > term > term] :
                                          ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                        = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                         => ( !! @ ( subst > term > term )
                                            @ ^ [Y1: subst > term > term] :
                                                ( ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                              = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                               => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                    = ( lam @ ( Y1 @ sh @ one ) ) )
                                                 => ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( Y1 @ Y2 @ Y3 )
                                                            = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > term )
                                        @ ^ [Y0: subst > term > term] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                          = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                     != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > term )
                                          @ ^ [Y0: subst > term > term] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                         => ( ( !! @ ( subst > term > subst > $o )
                                              @ ^ [Y0: subst > term > subst > $o] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y4: term] :
                                                                    ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                   => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                 => ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( var @ ( sub @ Y1 @ id ) )
                                                           => ( Y0 @ id @ Y1 @ id ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( var @ Y1 )
                                                           => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > subst > $o )
                                                @ ^ [Y0: subst > term > subst > $o] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y4: term] :
                                                                      ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                     => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                   => ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y4: term] :
                                                                        ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                       => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ id @ Y1 @ id )
                                                                 => ( ( Y0 @ id @ Y2 @ id )
                                                                   => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ id @ Y1 @ id )
                                                                 => ( ( Y0 @ id @ Y2 @ id )
                                                                   => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                             => ( !! @ ( subst > term > subst > $o )
                                                @ ^ [Y0: subst > term > subst > $o] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                     => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                   => ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y4: term] :
                                                                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                       => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > term )
                                                          @ ^ [Y1: subst > term > term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                            = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                     => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                               => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                   => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                             => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f1095]) ).

thf(f1095,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( ( ap @ Y2 @ Y3 )
                            = ( ap @ Y1 @ Y0 ) )
                         => ( Y2 = Y1 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( ( ap @ Y2 @ Y3 )
                              = ( ap @ Y0 @ Y1 ) )
                           => ( Y3 = Y1 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( ( lam @ Y1 )
                        = ( lam @ Y0 ) )
                     => ( Y1 = Y0 ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( ( sub @ Y1 @ sh )
                          = ( sub @ Y0 @ sh ) )
                       => ( Y1 = Y0 ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( ap @ Y1 @ Y2 )
                             != ( lam @ Y0 ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ~ ( var @ ( lam @ Y0 ) ) )
                   => ( ( !! @ ( term > $o )
                        @ ^ [Y0: term > $o] :
                            ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( Y0 @ Y1 ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                               => ( !! @ term @ Y0 ) ) ) ) )
                     => ( ( !! @ ( term > $o )
                          @ ^ [Y0: term > $o] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                     => ( ( Y0 @ Y1 )
                                       => ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                       => ( ( !! @ ( term > $o )
                            @ ^ [Y0: term > $o] :
                                ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                           => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                         => ( ( !! @ ( term > $o )
                              @ ^ [Y0: term > $o] :
                                  ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( Y0 @ Y1 ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                     => ( !! @ term @ Y0 ) ) ) ) )
                           => ( ( !! @ subst
                                @ ^ [Y0: subst] :
                                    ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                            = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                             => ( ( !! @ subst
                                  @ ^ [Y0: subst] :
                                      ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                              = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                      = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                   => ( Y2 = Y0 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                        = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                     => ( Y2 = Y1 ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > term )
                                        @ ^ [Y0: subst > term > term] :
                                            ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                          = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                           => ( !! @ ( subst > term > term )
                                              @ ^ [Y1: subst > term > term] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                 => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                      = ( lam @ ( Y1 @ sh @ one ) ) )
                                                   => ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( Y1 @ Y2 @ Y3 )
                                                              = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > term )
                                          @ ^ [Y0: subst > term > term] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                            = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > term )
                                            @ ^ [Y0: subst > term > term] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                           => ( ( !! @ ( subst > term > subst > $o )
                                                @ ^ [Y0: subst > term > subst > $o] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y4: term] :
                                                                      ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                   => ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ ( sub @ Y1 @ id ) )
                                                             => ( Y0 @ id @ Y1 @ id ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ Y1 )
                                                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > subst > $o )
                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y4: term] :
                                                                        ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                       => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                     => ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y4: term] :
                                                                          ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                     => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                     => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                               => ( !! @ ( subst > term > subst > $o )
                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                       => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                     => ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y4: term] :
                                                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > term )
                                                            @ ^ [Y1: subst > term > term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                 => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f946,f964]) ).

thf(f964,plain,
    ( ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( Y0 @ one )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( ( Y0 @ Y1 )
                   => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
           => ( !! @ term
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( Y0 @ Y1 ) ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f946]) ).

thf(f946,plain,
    ( $false
    = ( ( !! @ ( term > $o )
        @ ^ [Y0: term > $o] :
            ( ( Y0 @ one )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( ( Y0 @ Y1 )
                     => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ Y1 ) ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( ( ap @ Y2 @ Y3 )
                            = ( ap @ Y1 @ Y0 ) )
                         => ( Y2 = Y1 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( ( ap @ Y2 @ Y3 )
                              = ( ap @ Y0 @ Y1 ) )
                           => ( Y3 = Y1 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( ( lam @ Y1 )
                        = ( lam @ Y0 ) )
                     => ( Y1 = Y0 ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( ( sub @ Y1 @ sh )
                          = ( sub @ Y0 @ sh ) )
                       => ( Y1 = Y0 ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( ap @ Y1 @ Y2 )
                             != ( lam @ Y0 ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ~ ( var @ ( lam @ Y0 ) ) )
                   => ( ( !! @ ( term > $o )
                        @ ^ [Y0: term > $o] :
                            ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( Y0 @ Y1 ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                               => ( !! @ term @ Y0 ) ) ) ) )
                     => ( ( !! @ ( term > $o )
                          @ ^ [Y0: term > $o] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                     => ( ( Y0 @ Y1 )
                                       => ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                       => ( ( !! @ ( term > $o )
                            @ ^ [Y0: term > $o] :
                                ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                           => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                         => ( ( !! @ ( term > $o )
                              @ ^ [Y0: term > $o] :
                                  ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( Y0 @ Y1 ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                     => ( !! @ term @ Y0 ) ) ) ) )
                           => ( ( !! @ subst
                                @ ^ [Y0: subst] :
                                    ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                            = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                             => ( ( !! @ subst
                                  @ ^ [Y0: subst] :
                                      ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                              = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                      = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                   => ( Y2 = Y0 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                        = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                     => ( Y2 = Y1 ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > term )
                                        @ ^ [Y0: subst > term > term] :
                                            ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                          = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                           => ( !! @ ( subst > term > term )
                                              @ ^ [Y1: subst > term > term] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                 => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                      = ( lam @ ( Y1 @ sh @ one ) ) )
                                                   => ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( Y1 @ Y2 @ Y3 )
                                                              = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > term )
                                          @ ^ [Y0: subst > term > term] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                            = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > term )
                                            @ ^ [Y0: subst > term > term] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                           => ( ( !! @ ( subst > term > subst > $o )
                                                @ ^ [Y0: subst > term > subst > $o] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y4: term] :
                                                                      ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                   => ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ ( sub @ Y1 @ id ) )
                                                             => ( Y0 @ id @ Y1 @ id ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ Y1 )
                                                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > subst > $o )
                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y4: term] :
                                                                        ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                       => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                     => ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y4: term] :
                                                                          ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                     => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                     => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                               => ( !! @ ( subst > term > subst > $o )
                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                       => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                     => ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y4: term] :
                                                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                         => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > term )
                                                            @ ^ [Y1: subst > term > term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                 => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(boolean_simplification,[],[f943]) ).

thf(f943,plain,
    ( $false
    = ( $true
     => ( ( !! @ ( term > $o )
          @ ^ [Y0: term > $o] :
              ( ( Y0 @ one )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( ( Y0 @ Y1 )
                       => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( Y0 @ Y1 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( ( ap @ Y2 @ Y3 )
                              = ( ap @ Y1 @ Y0 ) )
                           => ( Y2 = Y1 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( ( ap @ Y2 @ Y3 )
                                = ( ap @ Y0 @ Y1 ) )
                             => ( Y3 = Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( ( lam @ Y1 )
                          = ( lam @ Y0 ) )
                       => ( Y1 = Y0 ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( ( sub @ Y1 @ sh )
                            = ( sub @ Y0 @ sh ) )
                         => ( Y1 = Y0 ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( ap @ Y1 @ Y2 )
                               != ( lam @ Y0 ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ~ ( var @ ( lam @ Y0 ) ) )
                     => ( ( !! @ ( term > $o )
                          @ ^ [Y0: term > $o] :
                              ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( Y0 @ Y1 ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                 => ( !! @ term @ Y0 ) ) ) ) )
                       => ( ( !! @ ( term > $o )
                            @ ^ [Y0: term > $o] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                       => ( ( Y0 @ Y1 )
                                         => ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                         => ( ( !! @ ( term > $o )
                              @ ^ [Y0: term > $o] :
                                  ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                             => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                           => ( ( !! @ ( term > $o )
                                @ ^ [Y0: term > $o] :
                                    ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ Y1 ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !! @ term @ Y0 ) ) ) ) )
                             => ( ( !! @ subst
                                  @ ^ [Y0: subst] :
                                      ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                              = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                               => ( ( !! @ subst
                                    @ ^ [Y0: subst] :
                                        ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                        = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                     => ( Y2 = Y0 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                          = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                       => ( Y2 = Y1 ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > term )
                                          @ ^ [Y0: subst > term > term] :
                                              ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                            = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                             => ( !! @ ( subst > term > term )
                                                @ ^ [Y1: subst > term > term] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                  = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                   => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                        = ( lam @ ( Y1 @ sh @ one ) ) )
                                                     => ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( Y1 @ Y2 @ Y3 )
                                                                = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > term )
                                            @ ^ [Y0: subst > term > term] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                              = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                         != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > term )
                                              @ ^ [Y0: subst > term > term] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                             => ( ( !! @ ( subst > term > subst > $o )
                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y4: term] :
                                                                        ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                       => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                     => ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                         => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( var @ ( sub @ Y1 @ id ) )
                                                               => ( Y0 @ id @ Y1 @ id ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( var @ Y1 )
                                                               => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > subst > $o )
                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y4: term] :
                                                                          ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                         => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                       => ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y4: term] :
                                                                            ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                           => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ id @ Y1 @ id )
                                                                     => ( ( Y0 @ id @ Y2 @ id )
                                                                       => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ id @ Y1 @ id )
                                                                     => ( ( Y0 @ id @ Y2 @ id )
                                                                       => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                 => ( !! @ ( subst > term > subst > $o )
                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                         => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                       => ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y4: term] :
                                                                            ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                           => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > term )
                                                              @ ^ [Y1: subst > term > term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                         => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                   => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                       => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                 => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(backward_demodulation,[],[f923,f925]) ).

thf(f925,plain,
    ( $true
    = ( !! @ term
      @ ^ [Y0: term] :
          ( ( var @ Y0 )
         => ( var @ ( sub @ Y0 @ sh ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f923]) ).

thf(f923,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( ( var @ Y0 )
           => ( var @ ( sub @ Y0 @ sh ) ) ) )
     => ( ( !! @ ( term > $o )
          @ ^ [Y0: term > $o] :
              ( ( Y0 @ one )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( ( Y0 @ Y1 )
                       => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( Y0 @ Y1 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( ( ap @ Y2 @ Y3 )
                              = ( ap @ Y1 @ Y0 ) )
                           => ( Y2 = Y1 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( ( ap @ Y2 @ Y3 )
                                = ( ap @ Y0 @ Y1 ) )
                             => ( Y3 = Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( ( lam @ Y1 )
                          = ( lam @ Y0 ) )
                       => ( Y1 = Y0 ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( ( sub @ Y1 @ sh )
                            = ( sub @ Y0 @ sh ) )
                         => ( Y1 = Y0 ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( ap @ Y1 @ Y2 )
                               != ( lam @ Y0 ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ~ ( var @ ( lam @ Y0 ) ) )
                     => ( ( !! @ ( term > $o )
                          @ ^ [Y0: term > $o] :
                              ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( Y0 @ Y1 ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                 => ( !! @ term @ Y0 ) ) ) ) )
                       => ( ( !! @ ( term > $o )
                            @ ^ [Y0: term > $o] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                       => ( ( Y0 @ Y1 )
                                         => ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                         => ( ( !! @ ( term > $o )
                              @ ^ [Y0: term > $o] :
                                  ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                             => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                           => ( ( !! @ ( term > $o )
                                @ ^ [Y0: term > $o] :
                                    ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ Y1 ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !! @ term @ Y0 ) ) ) ) )
                             => ( ( !! @ subst
                                  @ ^ [Y0: subst] :
                                      ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                              = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                               => ( ( !! @ subst
                                    @ ^ [Y0: subst] :
                                        ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                        = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                     => ( Y2 = Y0 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                          = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                       => ( Y2 = Y1 ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > term )
                                          @ ^ [Y0: subst > term > term] :
                                              ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                            = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                             => ( !! @ ( subst > term > term )
                                                @ ^ [Y1: subst > term > term] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                  = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                   => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                        = ( lam @ ( Y1 @ sh @ one ) ) )
                                                     => ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( Y1 @ Y2 @ Y3 )
                                                                = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > term )
                                            @ ^ [Y0: subst > term > term] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                              = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                         != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > term )
                                              @ ^ [Y0: subst > term > term] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                             => ( ( !! @ ( subst > term > subst > $o )
                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y4: term] :
                                                                        ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                       => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                     => ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                         => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( var @ ( sub @ Y1 @ id ) )
                                                               => ( Y0 @ id @ Y1 @ id ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( var @ Y1 )
                                                               => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > subst > $o )
                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y4: term] :
                                                                          ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                         => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                       => ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y4: term] :
                                                                            ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                           => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ id @ Y1 @ id )
                                                                     => ( ( Y0 @ id @ Y2 @ id )
                                                                       => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ id @ Y1 @ id )
                                                                     => ( ( Y0 @ id @ Y2 @ id )
                                                                       => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                 => ( !! @ ( subst > term > subst > $o )
                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                         => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                       => ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y4: term] :
                                                                            ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                           => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > term )
                                                              @ ^ [Y1: subst > term > term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                         => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                   => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                       => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                 => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f922]) ).

thf(f922,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( ( var @ Y0 )
             => ( var @ ( sub @ Y0 @ sh ) ) ) )
       => ( ( !! @ ( term > $o )
            @ ^ [Y0: term > $o] :
                ( ( Y0 @ one )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( ( Y0 @ Y1 )
                         => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( Y0 @ Y1 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( ( ap @ Y2 @ Y3 )
                                = ( ap @ Y1 @ Y0 ) )
                             => ( Y2 = Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( ( ap @ Y2 @ Y3 )
                                  = ( ap @ Y0 @ Y1 ) )
                               => ( Y3 = Y1 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( ( lam @ Y1 )
                            = ( lam @ Y0 ) )
                         => ( Y1 = Y0 ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( ( sub @ Y1 @ sh )
                              = ( sub @ Y0 @ sh ) )
                           => ( Y1 = Y0 ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( ap @ Y1 @ Y2 )
                                 != ( lam @ Y0 ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ~ ( var @ ( lam @ Y0 ) ) )
                       => ( ( !! @ ( term > $o )
                            @ ^ [Y0: term > $o] :
                                ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( Y0 @ Y1 ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                   => ( !! @ term @ Y0 ) ) ) ) )
                         => ( ( !! @ ( term > $o )
                              @ ^ [Y0: term > $o] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                         => ( ( Y0 @ Y1 )
                                           => ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                           => ( ( !! @ ( term > $o )
                                @ ^ [Y0: term > $o] :
                                    ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                               => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                             => ( ( !! @ ( term > $o )
                                  @ ^ [Y0: term > $o] :
                                      ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( Y0 @ Y1 ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( ( Y0 @ Y1 )
                                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                         => ( !! @ term @ Y0 ) ) ) ) )
                               => ( ( !! @ subst
                                    @ ^ [Y0: subst] :
                                        ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ subst
                                      @ ^ [Y0: subst] :
                                          ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                  = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                          = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                       => ( Y2 = Y0 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                            = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                         => ( Y2 = Y1 ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > term )
                                            @ ^ [Y0: subst > term > term] :
                                                ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                              = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                               => ( !! @ ( subst > term > term )
                                                  @ ^ [Y1: subst > term > term] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                    = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                     => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                          = ( lam @ ( Y1 @ sh @ one ) ) )
                                                       => ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( Y1 @ Y2 @ Y3 )
                                                                  = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > term )
                                              @ ^ [Y0: subst > term > term] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                           != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > term )
                                                @ ^ [Y0: subst > term > term] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                               => ( ( !! @ ( subst > term > subst > $o )
                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y4: term] :
                                                                          ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                         => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                       => ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                           => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( var @ ( sub @ Y1 @ id ) )
                                                                 => ( Y0 @ id @ Y1 @ id ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( var @ Y1 )
                                                                 => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > subst > $o )
                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y4: term] :
                                                                            ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                           => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                         => ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y4: term] :
                                                                              ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ id @ Y1 @ id )
                                                                       => ( ( Y0 @ id @ Y2 @ id )
                                                                         => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ id @ Y1 @ id )
                                                                       => ( ( Y0 @ id @ Y2 @ id )
                                                                         => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                   => ( !! @ ( subst > term > subst > $o )
                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                           => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                         => ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y4: term] :
                                                                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > term )
                                                                @ ^ [Y1: subst > term > term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                     => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f899,f921]) ).

thf(f921,plain,
    ( ( var @ one )
    = $true ),
    inference(binary_proxy_clausification,[],[f899]) ).

thf(f899,plain,
    ( ( ( var @ one )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( ( var @ Y0 )
             => ( var @ ( sub @ Y0 @ sh ) ) ) )
       => ( ( !! @ ( term > $o )
            @ ^ [Y0: term > $o] :
                ( ( Y0 @ one )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( ( Y0 @ Y1 )
                         => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( Y0 @ Y1 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( ( ap @ Y2 @ Y3 )
                                = ( ap @ Y1 @ Y0 ) )
                             => ( Y2 = Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( ( ap @ Y2 @ Y3 )
                                  = ( ap @ Y0 @ Y1 ) )
                               => ( Y3 = Y1 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( ( lam @ Y1 )
                            = ( lam @ Y0 ) )
                         => ( Y1 = Y0 ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( ( sub @ Y1 @ sh )
                              = ( sub @ Y0 @ sh ) )
                           => ( Y1 = Y0 ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( ap @ Y1 @ Y2 )
                                 != ( lam @ Y0 ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ~ ( var @ ( lam @ Y0 ) ) )
                       => ( ( !! @ ( term > $o )
                            @ ^ [Y0: term > $o] :
                                ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( Y0 @ Y1 ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                   => ( !! @ term @ Y0 ) ) ) ) )
                         => ( ( !! @ ( term > $o )
                              @ ^ [Y0: term > $o] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                         => ( ( Y0 @ Y1 )
                                           => ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                           => ( ( !! @ ( term > $o )
                                @ ^ [Y0: term > $o] :
                                    ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                               => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                             => ( ( !! @ ( term > $o )
                                  @ ^ [Y0: term > $o] :
                                      ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( Y0 @ Y1 ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( ( Y0 @ Y1 )
                                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                         => ( !! @ term @ Y0 ) ) ) ) )
                               => ( ( !! @ subst
                                    @ ^ [Y0: subst] :
                                        ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ subst
                                      @ ^ [Y0: subst] :
                                          ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                  = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                          = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                       => ( Y2 = Y0 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                            = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                         => ( Y2 = Y1 ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > term )
                                            @ ^ [Y0: subst > term > term] :
                                                ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                              = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                               => ( !! @ ( subst > term > term )
                                                  @ ^ [Y1: subst > term > term] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                    = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                     => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                          = ( lam @ ( Y1 @ sh @ one ) ) )
                                                       => ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( Y1 @ Y2 @ Y3 )
                                                                  = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > term )
                                              @ ^ [Y0: subst > term > term] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                           != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > term )
                                                @ ^ [Y0: subst > term > term] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                               => ( ( !! @ ( subst > term > subst > $o )
                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y4: term] :
                                                                          ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                         => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                       => ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                           => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( var @ ( sub @ Y1 @ id ) )
                                                                 => ( Y0 @ id @ Y1 @ id ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( var @ Y1 )
                                                                 => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > subst > $o )
                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y4: term] :
                                                                            ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                           => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                         => ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y4: term] :
                                                                              ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ id @ Y1 @ id )
                                                                       => ( ( Y0 @ id @ Y2 @ id )
                                                                         => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ id @ Y1 @ id )
                                                                       => ( ( Y0 @ id @ Y2 @ id )
                                                                         => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                   => ( !! @ ( subst > term > subst > $o )
                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                           => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                         => ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y4: term] :
                                                                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                             => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > term )
                                                                @ ^ [Y1: subst > term > term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                     => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f897]) ).

thf(f897,plain,
    ( ( $true
     => ( ( var @ one )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( var @ Y0 )
               => ( var @ ( sub @ Y0 @ sh ) ) ) )
         => ( ( !! @ ( term > $o )
              @ ^ [Y0: term > $o] :
                  ( ( Y0 @ one )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( ( Y0 @ Y1 )
                           => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( Y0 @ Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( ( ap @ Y2 @ Y3 )
                                  = ( ap @ Y1 @ Y0 ) )
                               => ( Y2 = Y1 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ Y2 @ Y3 )
                                    = ( ap @ Y0 @ Y1 ) )
                                 => ( Y3 = Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( ( lam @ Y1 )
                              = ( lam @ Y0 ) )
                           => ( Y1 = Y0 ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( ( sub @ Y1 @ sh )
                                = ( sub @ Y0 @ sh ) )
                             => ( Y1 = Y0 ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( ap @ Y1 @ Y2 )
                                   != ( lam @ Y0 ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ~ ( var @ ( lam @ Y0 ) ) )
                         => ( ( !! @ ( term > $o )
                              @ ^ [Y0: term > $o] :
                                  ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( Y0 @ Y1 ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                     => ( !! @ term @ Y0 ) ) ) ) )
                           => ( ( !! @ ( term > $o )
                                @ ^ [Y0: term > $o] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                           => ( ( Y0 @ Y1 )
                                             => ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                             => ( ( !! @ ( term > $o )
                                  @ ^ [Y0: term > $o] :
                                      ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                 => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( Y0 @ Y1 ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( ( Y0 @ Y1 )
                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                           => ( !! @ term @ Y0 ) ) ) ) )
                                 => ( ( !! @ subst
                                      @ ^ [Y0: subst] :
                                          ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                  = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                   => ( ( !! @ subst
                                        @ ^ [Y0: subst] :
                                            ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                    = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                            = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                         => ( Y2 = Y0 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                              = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                           => ( Y2 = Y1 ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > term )
                                              @ ^ [Y0: subst > term > term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                 => ( !! @ ( subst > term > term )
                                                    @ ^ [Y1: subst > term > term] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                      = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                       => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                            = ( lam @ ( Y1 @ sh @ one ) ) )
                                                         => ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( Y1 @ Y2 @ Y3 )
                                                                    = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > term )
                                                @ ^ [Y0: subst > term > term] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                  = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > term )
                                                  @ ^ [Y0: subst > term > term] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                 => ( ( !! @ ( subst > term > subst > $o )
                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y4: term] :
                                                                            ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                         => ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( var @ ( sub @ Y1 @ id ) )
                                                                   => ( Y0 @ id @ Y1 @ id ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( var @ Y1 )
                                                                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > subst > $o )
                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y4: term] :
                                                                              ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                             => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                           => ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y4: term] :
                                                                                ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ id @ Y1 @ id )
                                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                                           => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ id @ Y1 @ id )
                                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                                           => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                     => ( !! @ ( subst > term > subst > $o )
                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                             => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                           => ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y4: term] :
                                                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > term )
                                                                  @ ^ [Y1: subst > term > term] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                    = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f882,f884]) ).

thf(f884,plain,
    ( ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
          = Y0 ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f882]) ).

thf(f882,plain,
    ( $false
    = ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
            = Y0 ) )
     => ( ( var @ one )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( var @ Y0 )
               => ( var @ ( sub @ Y0 @ sh ) ) ) )
         => ( ( !! @ ( term > $o )
              @ ^ [Y0: term > $o] :
                  ( ( Y0 @ one )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( ( Y0 @ Y1 )
                           => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( Y0 @ Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( ( ap @ Y2 @ Y3 )
                                  = ( ap @ Y1 @ Y0 ) )
                               => ( Y2 = Y1 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ Y2 @ Y3 )
                                    = ( ap @ Y0 @ Y1 ) )
                                 => ( Y3 = Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( ( lam @ Y1 )
                              = ( lam @ Y0 ) )
                           => ( Y1 = Y0 ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( ( sub @ Y1 @ sh )
                                = ( sub @ Y0 @ sh ) )
                             => ( Y1 = Y0 ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( ap @ Y1 @ Y2 )
                                   != ( lam @ Y0 ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ~ ( var @ ( lam @ Y0 ) ) )
                         => ( ( !! @ ( term > $o )
                              @ ^ [Y0: term > $o] :
                                  ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( Y0 @ Y1 ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                     => ( !! @ term @ Y0 ) ) ) ) )
                           => ( ( !! @ ( term > $o )
                                @ ^ [Y0: term > $o] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                           => ( ( Y0 @ Y1 )
                                             => ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                             => ( ( !! @ ( term > $o )
                                  @ ^ [Y0: term > $o] :
                                      ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                 => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( Y0 @ Y1 ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( ( Y0 @ Y1 )
                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                           => ( !! @ term @ Y0 ) ) ) ) )
                                 => ( ( !! @ subst
                                      @ ^ [Y0: subst] :
                                          ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                  = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                   => ( ( !! @ subst
                                        @ ^ [Y0: subst] :
                                            ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                    = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                            = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                         => ( Y2 = Y0 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                              = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                           => ( Y2 = Y1 ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > term )
                                              @ ^ [Y0: subst > term > term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                 => ( !! @ ( subst > term > term )
                                                    @ ^ [Y1: subst > term > term] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                      = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                       => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                            = ( lam @ ( Y1 @ sh @ one ) ) )
                                                         => ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( Y1 @ Y2 @ Y3 )
                                                                    = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > term )
                                                @ ^ [Y0: subst > term > term] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                  = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > term )
                                                  @ ^ [Y0: subst > term > term] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                 => ( ( !! @ ( subst > term > subst > $o )
                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y4: term] :
                                                                            ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                         => ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( var @ ( sub @ Y1 @ id ) )
                                                                   => ( Y0 @ id @ Y1 @ id ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( var @ Y1 )
                                                                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > subst > $o )
                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y4: term] :
                                                                              ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                             => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                           => ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y4: term] :
                                                                                ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ id @ Y1 @ id )
                                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                                           => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ id @ Y1 @ id )
                                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                                           => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                     => ( !! @ ( subst > term > subst > $o )
                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                             => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                           => ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y4: term] :
                                                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                               => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > term )
                                                                  @ ^ [Y1: subst > term > term] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                    = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(boolean_simplification,[],[f880]) ).

thf(f880,plain,
    ( $false
    = ( $true
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
              = Y0 ) )
       => ( ( var @ one )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( ( var @ Y0 )
                 => ( var @ ( sub @ Y0 @ sh ) ) ) )
           => ( ( !! @ ( term > $o )
                @ ^ [Y0: term > $o] :
                    ( ( Y0 @ one )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( ( Y0 @ Y1 )
                             => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( Y0 @ Y1 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ Y2 @ Y3 )
                                    = ( ap @ Y1 @ Y0 ) )
                                 => ( Y2 = Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ Y2 @ Y3 )
                                      = ( ap @ Y0 @ Y1 ) )
                                   => ( Y3 = Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( ( lam @ Y1 )
                                = ( lam @ Y0 ) )
                             => ( Y1 = Y0 ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( ( sub @ Y1 @ sh )
                                  = ( sub @ Y0 @ sh ) )
                               => ( Y1 = Y0 ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( ap @ Y1 @ Y2 )
                                     != ( lam @ Y0 ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ~ ( var @ ( lam @ Y0 ) ) )
                           => ( ( !! @ ( term > $o )
                                @ ^ [Y0: term > $o] :
                                    ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ Y1 ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !! @ term @ Y0 ) ) ) ) )
                             => ( ( !! @ ( term > $o )
                                  @ ^ [Y0: term > $o] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                             => ( ( Y0 @ Y1 )
                                               => ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( ( Y0 @ Y1 )
                                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                   => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                 => ( ( !! @ ( term > $o )
                                      @ ^ [Y0: term > $o] :
                                          ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( ( Y0 @ Y1 )
                                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !! @ term @ Y0 ) ) ) ) )
                                   => ( ( !! @ subst
                                        @ ^ [Y0: subst] :
                                            ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                    = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ subst
                                          @ ^ [Y0: subst] :
                                              ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                      = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                              = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                           => ( Y2 = Y0 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                             => ( Y2 = Y1 ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > term )
                                                @ ^ [Y0: subst > term > term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                  = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                   => ( !! @ ( subst > term > term )
                                                      @ ^ [Y1: subst > term > term] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                        = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                         => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                              = ( lam @ ( Y1 @ sh @ one ) ) )
                                                           => ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( Y1 @ Y2 @ Y3 )
                                                                      = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > term )
                                                  @ ^ [Y0: subst > term > term] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                    = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > term )
                                                    @ ^ [Y0: subst > term > term] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                   => ( ( !! @ ( subst > term > subst > $o )
                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y4: term] :
                                                                              ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                             => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                           => ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( var @ ( sub @ Y1 @ id ) )
                                                                     => ( Y0 @ id @ Y1 @ id ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( var @ Y1 )
                                                                     => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > subst > $o )
                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y4: term] :
                                                                                ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                               => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                             => ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y4: term] :
                                                                                  ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ id @ Y1 @ id )
                                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ id @ Y1 @ id )
                                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                       => ( !! @ ( subst > term > subst > $o )
                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                               => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                             => ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y4: term] :
                                                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y1: subst > term > term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                      = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(backward_demodulation,[],[f863,f866]) ).

thf(f866,plain,
    ( ( id
      = ( push @ one @ sh ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f863]) ).

thf(f863,plain,
    ( ( ( id
        = ( push @ one @ sh ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
              = Y0 ) )
       => ( ( var @ one )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( ( var @ Y0 )
                 => ( var @ ( sub @ Y0 @ sh ) ) ) )
           => ( ( !! @ ( term > $o )
                @ ^ [Y0: term > $o] :
                    ( ( Y0 @ one )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( ( Y0 @ Y1 )
                             => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( Y0 @ Y1 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ Y2 @ Y3 )
                                    = ( ap @ Y1 @ Y0 ) )
                                 => ( Y2 = Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ Y2 @ Y3 )
                                      = ( ap @ Y0 @ Y1 ) )
                                   => ( Y3 = Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( ( lam @ Y1 )
                                = ( lam @ Y0 ) )
                             => ( Y1 = Y0 ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( ( sub @ Y1 @ sh )
                                  = ( sub @ Y0 @ sh ) )
                               => ( Y1 = Y0 ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( ap @ Y1 @ Y2 )
                                     != ( lam @ Y0 ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ~ ( var @ ( lam @ Y0 ) ) )
                           => ( ( !! @ ( term > $o )
                                @ ^ [Y0: term > $o] :
                                    ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ Y1 ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !! @ term @ Y0 ) ) ) ) )
                             => ( ( !! @ ( term > $o )
                                  @ ^ [Y0: term > $o] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                             => ( ( Y0 @ Y1 )
                                               => ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( ( Y0 @ Y1 )
                                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                   => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                 => ( ( !! @ ( term > $o )
                                      @ ^ [Y0: term > $o] :
                                          ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( ( Y0 @ Y1 )
                                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !! @ term @ Y0 ) ) ) ) )
                                   => ( ( !! @ subst
                                        @ ^ [Y0: subst] :
                                            ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                    = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ subst
                                          @ ^ [Y0: subst] :
                                              ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                      = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                              = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                           => ( Y2 = Y0 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                             => ( Y2 = Y1 ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > term )
                                                @ ^ [Y0: subst > term > term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                  = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                   => ( !! @ ( subst > term > term )
                                                      @ ^ [Y1: subst > term > term] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                        = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                         => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                              = ( lam @ ( Y1 @ sh @ one ) ) )
                                                           => ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( Y1 @ Y2 @ Y3 )
                                                                      = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > term )
                                                  @ ^ [Y0: subst > term > term] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                    = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > term )
                                                    @ ^ [Y0: subst > term > term] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                   => ( ( !! @ ( subst > term > subst > $o )
                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y4: term] :
                                                                              ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                             => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                           => ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( var @ ( sub @ Y1 @ id ) )
                                                                     => ( Y0 @ id @ Y1 @ id ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( var @ Y1 )
                                                                     => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > subst > $o )
                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y4: term] :
                                                                                ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                               => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                             => ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y4: term] :
                                                                                  ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ id @ Y1 @ id )
                                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ id @ Y1 @ id )
                                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                       => ( !! @ ( subst > term > subst > $o )
                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                               => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                             => ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y4: term] :
                                                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y1: subst > term > term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                      = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f862]) ).

thf(f862,plain,
    ( ( ( id
        = ( push @ one @ sh ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
              = Y0 ) )
       => ( ( var @ one )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( ( var @ Y0 )
                 => ( var @ ( sub @ Y0 @ sh ) ) ) )
           => ( ( !! @ ( term > $o )
                @ ^ [Y0: term > $o] :
                    ( ( Y0 @ one )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( ( Y0 @ Y1 )
                             => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( Y0 @ Y1 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ Y2 @ Y3 )
                                    = ( ap @ Y1 @ Y0 ) )
                                 => ( Y2 = Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ Y2 @ Y3 )
                                      = ( ap @ Y0 @ Y1 ) )
                                   => ( Y3 = Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( ( lam @ Y1 )
                                = ( lam @ Y0 ) )
                             => ( Y1 = Y0 ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( ( sub @ Y1 @ sh )
                                  = ( sub @ Y0 @ sh ) )
                               => ( Y1 = Y0 ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( ap @ Y1 @ Y2 )
                                     != ( lam @ Y0 ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ~ ( var @ ( lam @ Y0 ) ) )
                           => ( ( !! @ ( term > $o )
                                @ ^ [Y0: term > $o] :
                                    ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ Y1 ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !! @ term @ Y0 ) ) ) ) )
                             => ( ( !! @ ( term > $o )
                                  @ ^ [Y0: term > $o] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                             => ( ( Y0 @ Y1 )
                                               => ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( ( Y0 @ Y1 )
                                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                   => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                 => ( ( !! @ ( term > $o )
                                      @ ^ [Y0: term > $o] :
                                          ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( ( Y0 @ Y1 )
                                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !! @ term @ Y0 ) ) ) ) )
                                   => ( ( ( !! @ subst
                                          @ ^ [Y0: subst] :
                                              ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                      = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                        & $true )
                                     => ( ( !! @ subst
                                          @ ^ [Y0: subst] :
                                              ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                      = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                              = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                           => ( Y2 = Y0 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                             => ( Y2 = Y1 ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > term )
                                                @ ^ [Y0: subst > term > term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                  = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                   => ( !! @ ( subst > term > term )
                                                      @ ^ [Y1: subst > term > term] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                        = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                         => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                              = ( lam @ ( Y1 @ sh @ one ) ) )
                                                           => ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( Y1 @ Y2 @ Y3 )
                                                                      = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > term )
                                                  @ ^ [Y0: subst > term > term] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                    = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > term )
                                                    @ ^ [Y0: subst > term > term] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                   => ( ( !! @ ( subst > term > subst > $o )
                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y4: term] :
                                                                              ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                             => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                           => ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( var @ ( sub @ Y1 @ id ) )
                                                                     => ( Y0 @ id @ Y1 @ id ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( var @ Y1 )
                                                                     => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > subst > $o )
                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y4: term] :
                                                                                ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                               => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                             => ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y4: term] :
                                                                                  ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ id @ Y1 @ id )
                                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ id @ Y1 @ id )
                                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                       => ( !! @ ( subst > term > subst > $o )
                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                               => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                             => ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y4: term] :
                                                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                 => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y1: subst > term > term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                      = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f860]) ).

thf(f860,plain,
    ( ( $true
     => ( ( id
          = ( push @ one @ sh ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                = Y0 ) )
         => ( ( var @ one )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( ( var @ Y0 )
                   => ( var @ ( sub @ Y0 @ sh ) ) ) )
             => ( ( !! @ ( term > $o )
                  @ ^ [Y0: term > $o] :
                      ( ( Y0 @ one )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( ( Y0 @ Y1 )
                               => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( Y0 @ Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ Y2 @ Y3 )
                                      = ( ap @ Y1 @ Y0 ) )
                                   => ( Y2 = Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( ( ap @ Y2 @ Y3 )
                                        = ( ap @ Y0 @ Y1 ) )
                                     => ( Y3 = Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( ( lam @ Y1 )
                                  = ( lam @ Y0 ) )
                               => ( Y1 = Y0 ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( ( sub @ Y1 @ sh )
                                    = ( sub @ Y0 @ sh ) )
                                 => ( Y1 = Y0 ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( ap @ Y1 @ Y2 )
                                       != ( lam @ Y0 ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ~ ( var @ ( lam @ Y0 ) ) )
                             => ( ( !! @ ( term > $o )
                                  @ ^ [Y0: term > $o] :
                                      ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( Y0 @ Y1 ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( ( Y0 @ Y1 )
                                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                         => ( !! @ term @ Y0 ) ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                               => ( ( Y0 @ Y1 )
                                                 => ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                 => ( ( !! @ ( term > $o )
                                      @ ^ [Y0: term > $o] :
                                          ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( ( Y0 @ Y1 )
                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                     => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                   => ( ( !! @ ( term > $o )
                                        @ ^ [Y0: term > $o] :
                                            ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( var @ Y1 )
                                                 => ( Y0 @ Y1 ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( ( Y0 @ Y1 )
                                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y2 )
                                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                               => ( !! @ term @ Y0 ) ) ) ) )
                                     => ( ( ( !! @ subst
                                            @ ^ [Y0: subst] :
                                                ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                        = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                          & $true )
                                       => ( ( !! @ subst
                                            @ ^ [Y0: subst] :
                                                ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                        = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                             => ( Y2 = Y0 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                  = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                               => ( Y2 = Y1 ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > term )
                                                  @ ^ [Y0: subst > term > term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                    = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                     => ( !! @ ( subst > term > term )
                                                        @ ^ [Y1: subst > term > term] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                          = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                           => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                = ( lam @ ( Y1 @ sh @ one ) ) )
                                                             => ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( Y1 @ Y2 @ Y3 )
                                                                        = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > term )
                                                    @ ^ [Y0: subst > term > term] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                      = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                 != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > term )
                                                      @ ^ [Y0: subst > term > term] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y0: term] :
                                                            ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                     => ( ( !! @ ( subst > term > subst > $o )
                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y4: term] :
                                                                                ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                               => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                             => ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( var @ ( sub @ Y1 @ id ) )
                                                                       => ( Y0 @ id @ Y1 @ id ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( var @ Y1 )
                                                                       => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > subst > $o )
                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y4: term] :
                                                                                  ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                 => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                               => ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y4: term] :
                                                                                    ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                   => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ id @ Y1 @ id )
                                                                             => ( ( Y0 @ id @ Y2 @ id )
                                                                               => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ id @ Y1 @ id )
                                                                             => ( ( Y0 @ id @ Y2 @ id )
                                                                               => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                         => ( !! @ ( subst > term > subst > $o )
                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                 => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                               => ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y4: term] :
                                                                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                   => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > term )
                                                                      @ ^ [Y1: subst > term > term] :
                                                                          ( ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                        = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                         => ( ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                                 => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                           => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                               => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                         => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f854,f859]) ).

thf(f859,plain,
    ( ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( comp @ Y0 @ id )
          = Y0 ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f854]) ).

thf(f854,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( comp @ Y0 @ id )
            = Y0 ) )
     => ( ( id
          = ( push @ one @ sh ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                = Y0 ) )
         => ( ( var @ one )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( ( var @ Y0 )
                   => ( var @ ( sub @ Y0 @ sh ) ) ) )
             => ( ( !! @ ( term > $o )
                  @ ^ [Y0: term > $o] :
                      ( ( Y0 @ one )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( ( Y0 @ Y1 )
                               => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( Y0 @ Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ Y2 @ Y3 )
                                      = ( ap @ Y1 @ Y0 ) )
                                   => ( Y2 = Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( ( ap @ Y2 @ Y3 )
                                        = ( ap @ Y0 @ Y1 ) )
                                     => ( Y3 = Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( ( lam @ Y1 )
                                  = ( lam @ Y0 ) )
                               => ( Y1 = Y0 ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( ( sub @ Y1 @ sh )
                                    = ( sub @ Y0 @ sh ) )
                                 => ( Y1 = Y0 ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( ap @ Y1 @ Y2 )
                                       != ( lam @ Y0 ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ~ ( var @ ( lam @ Y0 ) ) )
                             => ( ( !! @ ( term > $o )
                                  @ ^ [Y0: term > $o] :
                                      ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( Y0 @ Y1 ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( ( Y0 @ Y1 )
                                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                         => ( !! @ term @ Y0 ) ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                               => ( ( Y0 @ Y1 )
                                                 => ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                 => ( ( !! @ ( term > $o )
                                      @ ^ [Y0: term > $o] :
                                          ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( ( Y0 @ Y1 )
                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                     => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                   => ( ( !! @ ( term > $o )
                                        @ ^ [Y0: term > $o] :
                                            ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( var @ Y1 )
                                                 => ( Y0 @ Y1 ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( ( Y0 @ Y1 )
                                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y2 )
                                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                               => ( !! @ term @ Y0 ) ) ) ) )
                                     => ( ( ( !! @ subst
                                            @ ^ [Y0: subst] :
                                                ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                        = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                          & ( !! @ subst
                                            @ ^ [Y0: subst] :
                                                ( ( comp @ Y0 @ id )
                                                = Y0 ) ) )
                                       => ( ( !! @ subst
                                            @ ^ [Y0: subst] :
                                                ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                        = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                             => ( Y2 = Y0 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                  = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                               => ( Y2 = Y1 ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > term )
                                                  @ ^ [Y0: subst > term > term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                    = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                     => ( !! @ ( subst > term > term )
                                                        @ ^ [Y1: subst > term > term] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                          = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                           => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                = ( lam @ ( Y1 @ sh @ one ) ) )
                                                             => ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( Y1 @ Y2 @ Y3 )
                                                                        = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > term )
                                                    @ ^ [Y0: subst > term > term] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                      = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                 != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > term )
                                                      @ ^ [Y0: subst > term > term] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y0: term] :
                                                            ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                     => ( ( !! @ ( subst > term > subst > $o )
                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y4: term] :
                                                                                ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                               => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                             => ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( var @ ( sub @ Y1 @ id ) )
                                                                       => ( Y0 @ id @ Y1 @ id ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( var @ Y1 )
                                                                       => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > subst > $o )
                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y4: term] :
                                                                                  ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                 => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                               => ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y4: term] :
                                                                                    ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                   => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ id @ Y1 @ id )
                                                                             => ( ( Y0 @ id @ Y2 @ id )
                                                                               => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ id @ Y1 @ id )
                                                                             => ( ( Y0 @ id @ Y2 @ id )
                                                                               => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                         => ( !! @ ( subst > term > subst > $o )
                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                 => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                               => ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y4: term] :
                                                                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                   => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > term )
                                                                      @ ^ [Y1: subst > term > term] :
                                                                          ( ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                        = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                         => ( ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                                 => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                           => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                               => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                         => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f851]) ).

thf(f851,plain,
    ( ( $true
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( ( comp @ Y0 @ id )
              = Y0 ) )
       => ( ( id
            = ( push @ one @ sh ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                  = Y0 ) )
           => ( ( var @ one )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( ( var @ Y0 )
                     => ( var @ ( sub @ Y0 @ sh ) ) ) )
               => ( ( !! @ ( term > $o )
                    @ ^ [Y0: term > $o] :
                        ( ( Y0 @ one )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( Y0 @ Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( ( ap @ Y2 @ Y3 )
                                        = ( ap @ Y1 @ Y0 ) )
                                     => ( Y2 = Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( ( ap @ Y2 @ Y3 )
                                          = ( ap @ Y0 @ Y1 ) )
                                       => ( Y3 = Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( ( lam @ Y1 )
                                    = ( lam @ Y0 ) )
                                 => ( Y1 = Y0 ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( ( sub @ Y1 @ sh )
                                      = ( sub @ Y0 @ sh ) )
                                   => ( Y1 = Y0 ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( ap @ Y1 @ Y2 )
                                         != ( lam @ Y0 ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ~ ( var @ ( lam @ Y0 ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( Y0 @ Y1 ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( ( Y0 @ Y1 )
                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                           => ( !! @ term @ Y0 ) ) ) ) )
                                 => ( ( !! @ ( term > $o )
                                      @ ^ [Y0: term > $o] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                 => ( ( Y0 @ Y1 )
                                                   => ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                   => ( ( !! @ ( term > $o )
                                        @ ^ [Y0: term > $o] :
                                            ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( ( Y0 @ Y1 )
                                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                       => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                     => ( ( !! @ ( term > $o )
                                          @ ^ [Y0: term > $o] :
                                              ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( var @ Y1 )
                                                   => ( Y0 @ Y1 ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( ( Y0 @ Y1 )
                                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                 => ( !! @ term @ Y0 ) ) ) ) )
                                       => ( ( ( !! @ subst
                                              @ ^ [Y0: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                          = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                            & ( !! @ subst
                                              @ ^ [Y0: subst] :
                                                  ( ( comp @ Y0 @ id )
                                                  = Y0 ) ) )
                                         => ( ( !! @ subst
                                              @ ^ [Y0: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                          = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                  = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                               => ( Y2 = Y0 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( ( ap @ ( sub @ Y3 @ id ) @ Y2 )
                                                                    = ( ap @ ( sub @ Y0 @ id ) @ Y1 ) )
                                                                 => ( Y2 = Y1 ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > term )
                                                    @ ^ [Y0: subst > term > term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                                                                      = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
                                                       => ( !! @ ( subst > term > term )
                                                          @ ^ [Y1: subst > term > term] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
                                                                            = ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
                                                             => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                  = ( lam @ ( Y1 @ sh @ one ) ) )
                                                               => ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( Y1 @ Y2 @ Y3 )
                                                                          = ( Y0 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > term )
                                                      @ ^ [Y0: subst > term > term] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > term )
                                                        @ ^ [Y0: subst > term > term] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y0: term] :
                                                              ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                       => ( ( !! @ ( subst > term > subst > $o )
                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y4: term] :
                                                                                  ( ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) )
                                                                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 ) ) ) ) ) )
                                                               => ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y1 )
                                                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y1 ) ) ) ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( ( var @ ( sub @ Y1 @ id ) )
                                                                         => ( Y0 @ id @ Y1 @ id ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( ( var @ Y1 )
                                                                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > subst > $o )
                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y4: term] :
                                                                                    ( ( Y0 @ Y3 @ Y4 @ ( comp @ Y2 @ Y1 ) )
                                                                                   => ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                 => ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y4: term] :
                                                                                      ( ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y4 @ Y3 ) @ Y2 )
                                                                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( Y0 @ id @ Y1 @ id )
                                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                                 => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( Y0 @ id @ Y1 @ id )
                                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                                 => ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
                                                           => ( !! @ ( subst > term > subst > $o )
                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y1 ) )
                                                                                   => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y1 ) ) ) ) ) )
                                                                 => ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y4: term] :
                                                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y4 @ Y2 ) @ Y3 )
                                                                                     => ( Y0 @ Y1 @ Y4 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > term )
                                                                        @ ^ [Y1: subst > term > term] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                          = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                           => ( ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                             => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f791,f817]) ).

thf(f5291,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( sub @ ( sub @ sK3 @ ( push @ Y0 @ Y1 ) ) @ Y2 )
                    = ( sub @ sK3 @ ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) ) )
      = $false )
    | ( ( sK2 @ id @ ( lam @ sK3 ) @ id )
      = $true ) ),
    inference(forward_demodulation,[],[f5290,f554]) ).

thf(f554,plain,
    ! [X1: term] :
      ( ( sub @ X1 @ id )
      = X1 ),
    inference(equality_proxy_clausification,[],[f549]) ).

thf(f549,plain,
    ! [X1: term] :
      ( $true
      = ( ( sub @ X1 @ id )
        = X1 ) ),
    inference(beta_eta_normalization,[],[f548]) ).

thf(f548,plain,
    ! [X1: term] :
      ( ( ^ [Y0: term] :
            ( ( sub @ Y0 @ id )
            = Y0 )
        @ X1 )
      = $true ),
    inference(pi_clausification,[],[f546]) ).

thf(f5290,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( sub @ ( sub @ sK3 @ ( push @ Y0 @ Y1 ) ) @ Y2 )
                    = ( sub @ sK3 @ ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) ) )
      = $false )
    | ( $true
      = ( sK2 @ id @ ( lam @ ( sub @ sK3 @ id ) ) @ id ) ) ),
    inference(forward_demodulation,[],[f5265,f881]) ).

thf(f881,plain,
    ( id
    = ( push @ one @ sh ) ),
    inference(equality_proxy_clausification,[],[f866]) ).

thf(f5265,plain,
    ( ( ( sK2 @ id @ ( lam @ ( sub @ sK3 @ ( push @ one @ sh ) ) ) @ id )
      = $true )
    | ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( sub @ ( sub @ sK3 @ ( push @ Y0 @ Y1 ) ) @ Y2 )
                    = ( sub @ sK3 @ ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) ) )
      = $false ) ),
    inference(boolean_simplification,[],[f5264]) ).

thf(f5264,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( sub @ ( sub @ sK3 @ ( push @ Y0 @ Y1 ) ) @ Y2 )
                    = ( sub @ sK3 @ ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) ) )
      = $false )
    | ( $true
      = ( $true
       => ( sK2 @ id @ ( lam @ ( sub @ sK3 @ ( push @ one @ sh ) ) ) @ id ) ) ) ),
    inference(beta_eta_normalization,[],[f5211]) ).

thf(f5211,plain,
    ( ( $true
      = ( $true
       => ( sK2 @ id
          @ ( lam
            @ ( ^ [Y0: subst,Y1: term] :
                  ( sub
                  @ ( ^ [Y2: subst,Y3: term] : sK3
                    @ Y0
                    @ Y1 )
                  @ ( ^ [Y2: subst,Y3: term] :
                        ( push
                        @ ( ^ [Y4: subst,Y5: term] : Y5
                          @ Y2
                          @ Y3 )
                        @ ( ^ [Y4: subst,Y5: term] : Y4
                          @ Y2
                          @ Y3 ) )
                    @ Y0
                    @ Y1 ) )
              @ sh
              @ one ) )
          @ id ) ) )
    | ( $false
      = ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( sub
                      @ ( ^ [Y3: subst,Y4: term] :
                            ( sub
                            @ ( ^ [Y5: subst,Y6: term] : sK3
                              @ Y3
                              @ Y4 )
                            @ ( ^ [Y5: subst,Y6: term] :
                                  ( push
                                  @ ( ^ [Y7: subst,Y8: term] : Y8
                                    @ Y5
                                    @ Y6 )
                                  @ ( ^ [Y7: subst,Y8: term] : Y7
                                    @ Y5
                                    @ Y6 ) )
                              @ Y3
                              @ Y4 ) )
                        @ Y1
                        @ Y0 )
                      @ Y2 )
                    = ( ^ [Y3: subst,Y4: term] :
                          ( sub
                          @ ( ^ [Y5: subst,Y6: term] : sK3
                            @ Y3
                            @ Y4 )
                          @ ( ^ [Y5: subst,Y6: term] :
                                ( push
                                @ ( ^ [Y7: subst,Y8: term] : Y8
                                  @ Y5
                                  @ Y6 )
                                @ ( ^ [Y7: subst,Y8: term] : Y7
                                  @ Y5
                                  @ Y6 ) )
                            @ Y3
                            @ Y4 ) )
                      @ ( comp @ Y1 @ Y2 )
                      @ ( sub @ Y0 @ Y2 ) ) ) ) ) ) ) ),
    inference(superposition,[],[f4650,f4873]) ).

thf(f4873,plain,
    ( $true
    = ( !! @ term
      @ ^ [Y0: term] :
          ( ( sK2 @ id @ Y0 @ id )
         => ( sK2 @ id @ ( sub @ sK3 @ ( push @ Y0 @ id ) ) @ id ) ) ) ),
    inference(not_proxy_clausification,[],[f4872]) ).

thf(f4872,plain,
    ( ( ~ ( !! @ term
          @ ^ [Y0: term] :
              ( ( sK2 @ id @ Y0 @ id )
             => ( sK2 @ id @ ( sub @ sK3 @ ( push @ Y0 @ id ) ) @ id ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f4853]) ).

thf(f4853,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( ( sK2 @ id @ Y0 @ id )
           => ( sK2 @ id @ ( sub @ sK3 @ ( push @ Y0 @ id ) ) @ id ) ) )
     => $false )
    = $false ),
    inference(backward_demodulation,[],[f4593,f4796]) ).

thf(f4650,plain,
    ! [X1: subst > term > term] :
      ( ( ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( sK2 @ id @ Y0 @ id )
               => ( sK2 @ id @ ( X1 @ id @ Y0 ) @ id ) ) )
         => ( sK2 @ id @ ( lam @ ( X1 @ sh @ one ) ) @ id ) )
        = $true )
      | ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( sub @ ( X1 @ Y1 @ Y0 ) @ Y2 )
                      = ( X1 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y0 @ Y2 ) ) ) ) ) )
        = $false ) ),
    inference(binary_proxy_clausification,[],[f4647]) ).

thf(f4647,plain,
    ! [X1: subst > term > term] :
      ( $true
      = ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( sub @ ( X1 @ Y1 @ Y0 ) @ Y2 )
                      = ( X1 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y0 @ Y2 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( sK2 @ id @ Y0 @ id )
               => ( sK2 @ id @ ( X1 @ id @ Y0 ) @ id ) ) )
         => ( sK2 @ id @ ( lam @ ( X1 @ sh @ one ) ) @ id ) ) ) ),
    inference(beta_eta_normalization,[],[f4635]) ).

thf(f4635,plain,
    ! [X1: subst > term > term] :
      ( $true
      = ( ^ [Y0: subst > term > term] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                          = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( sK2 @ id @ Y1 @ id )
                   => ( sK2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
             => ( sK2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) )
        @ X1 ) ),
    inference(pi_clausification,[],[f4613]) ).

thf(f4613,plain,
    ( $true
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                        = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( sK2 @ id @ Y1 @ id )
                 => ( sK2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
           => ( sK2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) ),
    inference(not_proxy_clausification,[],[f4600]) ).

thf(f4600,plain,
    ( ( ~ ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                            = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sK2 @ id @ Y1 @ id )
                     => ( sK2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
               => ( sK2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f4567]) ).

thf(f4567,plain,
    ( ( ( !! @ ( subst > term > term )
        @ ^ [Y0: subst > term > term] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( ( sub @ ( Y0 @ Y2 @ Y1 ) @ Y3 )
                          = ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( sK2 @ id @ Y1 @ id )
                   => ( sK2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
             => ( sK2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
     => $false )
    = $false ),
    inference(backward_demodulation,[],[f4401,f4461]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.10/0.14  % Problem    : ALG268^1 : TPTP v8.1.2. Bugfixed v5.2.0.
% 0.10/0.15  % Command    : vampire --input_syntax tptp --proof tptp --output_axiom_names on --mode portfolio --schedule file --schedule_file /export/starexec/sandbox/solver/bin/quickGreedyProduceRating_steal_pow3.txt --cores 8 -m 12000 -t %d %s
% 0.14/0.36  % Computer : n026.cluster.edu
% 0.14/0.36  % Model    : x86_64 x86_64
% 0.14/0.36  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.36  % Memory   : 8042.1875MB
% 0.14/0.36  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.37  % CPULimit   : 300
% 0.14/0.37  % WCLimit    : 300
% 0.14/0.37  % DateTime   : Fri May  3 19:57:08 EDT 2024
% 0.14/0.37  % CPUTime    : 
% 0.14/0.37  This is a TH0_THM_EQU_NAR problem
% 0.14/0.37  Running vampire_ho --input_syntax tptp --proof tptp --output_axiom_names on --mode portfolio --schedule snake_tptp_hol --cores 8 -m 12000 -t 300 /export/starexec/sandbox/tmp/tmp.apBvm4rTWN/Vampire---4.8_15814
% 0.14/0.40  % (15923)lrs+10_1:1_c=on:cnfonf=conj_eager:fd=off:fe=off:kws=frequency:spb=intro:i=4:si=on:rtra=on_0 on Vampire---4 for (2999ds/4Mi)
% 0.14/0.40  % (15928)lrs+1004_1:128_cond=on:e2e=on:sp=weighted_frequency:i=18:si=on:rtra=on_0 on Vampire---4 for (2999ds/18Mi)
% 0.14/0.40  % (15926)lrs+1002_1:128_aac=none:au=on:cnfonf=lazy_not_gen_be_off:sos=all:i=2:si=on:rtra=on_0 on Vampire---4 for (2999ds/2Mi)
% 0.14/0.40  % (15929)lrs+10_1:1_bet=on:cnfonf=off:fd=off:hud=5:inj=on:i=3:si=on:rtra=on_0 on Vampire---4 for (2999ds/3Mi)
% 0.14/0.40  % (15927)lrs+1002_1:1_au=on:bd=off:e2e=on:sd=2:sos=on:ss=axioms:i=275:si=on:rtra=on_0 on Vampire---4 for (2999ds/275Mi)
% 0.14/0.40  % (15925)lrs+10_1:1_au=on:inj=on:i=2:si=on:rtra=on_0 on Vampire---4 for (2999ds/2Mi)
% 0.14/0.40  % (15924)dis+1010_1:1_au=on:cbe=off:chr=on:fsr=off:hfsq=on:nm=64:sos=theory:sp=weighted_frequency:i=27:si=on:rtra=on_0 on Vampire---4 for (2999ds/27Mi)
% 0.14/0.40  % (15925)Instruction limit reached!
% 0.14/0.40  % (15925)------------------------------
% 0.14/0.40  % (15925)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.14/0.40  % (15925)Termination reason: Unknown
% 0.14/0.40  % (15925)Termination phase: shuffling
% 0.14/0.40  
% 0.14/0.40  % (15925)Memory used [KB]: 1151
% 0.14/0.40  % (15926)Instruction limit reached!
% 0.14/0.40  % (15926)------------------------------
% 0.14/0.40  % (15926)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.14/0.40  % (15925)Time elapsed: 0.002 s
% 0.14/0.40  % (15925)Instructions burned: 2 (million)
% 0.14/0.40  % (15925)------------------------------
% 0.14/0.40  % (15925)------------------------------
% 0.14/0.40  % (15926)Termination reason: Unknown
% 0.14/0.40  % (15926)Termination phase: shuffling
% 0.14/0.40  
% 0.14/0.40  % (15926)Memory used [KB]: 1279
% 0.14/0.40  % (15926)Time elapsed: 0.003 s
% 0.14/0.40  % (15926)Instructions burned: 3 (million)
% 0.14/0.40  % (15926)------------------------------
% 0.14/0.40  % (15926)------------------------------
% 0.14/0.40  % (15929)Instruction limit reached!
% 0.14/0.40  % (15929)------------------------------
% 0.14/0.40  % (15929)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.14/0.40  % (15929)Termination reason: Unknown
% 0.14/0.40  % (15929)Termination phase: shuffling
% 0.14/0.40  
% 0.14/0.40  % (15929)Memory used [KB]: 1279
% 0.14/0.40  % (15929)Time elapsed: 0.003 s
% 0.14/0.40  % (15929)Instructions burned: 3 (million)
% 0.14/0.40  % (15929)------------------------------
% 0.14/0.40  % (15929)------------------------------
% 0.14/0.40  % (15923)Instruction limit reached!
% 0.14/0.40  % (15923)------------------------------
% 0.14/0.40  % (15923)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.14/0.40  % (15923)Termination reason: Unknown
% 0.14/0.40  % (15923)Termination phase: shuffling
% 0.14/0.40  
% 0.14/0.40  % (15923)Memory used [KB]: 1279
% 0.14/0.40  % (15923)Time elapsed: 0.004 s
% 0.14/0.40  % (15923)Instructions burned: 5 (million)
% 0.14/0.40  % (15923)------------------------------
% 0.14/0.40  % (15923)------------------------------
% 0.14/0.40  % (15922)lrs+1002_1:8_bd=off:fd=off:hud=10:tnu=1:i=183:si=on:rtra=on_0 on Vampire---4 for (2999ds/183Mi)
% 0.14/0.41  % (15928)Instruction limit reached!
% 0.14/0.41  % (15928)------------------------------
% 0.14/0.41  % (15928)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.14/0.41  % (15928)Termination reason: Unknown
% 0.14/0.41  % (15928)Termination phase: Property scanning
% 0.14/0.41  
% 0.14/0.41  % (15928)Memory used [KB]: 1663
% 0.14/0.41  % (15928)Time elapsed: 0.011 s
% 0.14/0.41  % (15928)Instructions burned: 20 (million)
% 0.14/0.41  % (15928)------------------------------
% 0.14/0.41  % (15928)------------------------------
% 0.14/0.41  % (15924)Instruction limit reached!
% 0.14/0.41  % (15924)------------------------------
% 0.14/0.41  % (15924)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.14/0.41  % (15924)Termination reason: Unknown
% 0.14/0.41  % (15924)Termination phase: shuffling
% 0.14/0.41  
% 0.14/0.41  % (15924)Memory used [KB]: 1791
% 0.14/0.41  % (15924)Time elapsed: 0.013 s
% 0.14/0.41  % (15924)Instructions burned: 27 (million)
% 0.14/0.41  % (15924)------------------------------
% 0.14/0.41  % (15924)------------------------------
% 0.14/0.41  % (15933)lrs+1002_1:1_aac=none:au=on:cnfonf=lazy_gen:plsq=on:plsqc=1:plsqr=4203469,65536:i=1041:si=on:rtra=on_0 on Vampire---4 for (2999ds/1041Mi)
% 0.14/0.41  % (15932)dis+21_1:1_cbe=off:cnfonf=off:fs=off:fsr=off:hud=1:inj=on:i=3:si=on:rtra=on_0 on Vampire---4 for (2999ds/3Mi)
% 0.14/0.41  % (15930)lrs+1002_1:1_cnfonf=lazy_not_be_gen:hud=14:prag=on:sp=weighted_frequency:tnu=1:i=37:si=on:rtra=on_0 on Vampire---4 for (2999ds/37Mi)
% 0.14/0.41  % (15932)Instruction limit reached!
% 0.14/0.41  % (15932)------------------------------
% 0.14/0.41  % (15932)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.14/0.41  % (15932)Termination reason: Unknown
% 0.14/0.41  % (15932)Termination phase: shuffling
% 0.14/0.41  
% 0.14/0.41  % (15932)Memory used [KB]: 1279
% 0.14/0.41  % (15932)Time elapsed: 0.003 s
% 0.14/0.41  % (15932)Instructions burned: 4 (million)
% 0.14/0.41  % (15932)------------------------------
% 0.14/0.41  % (15932)------------------------------
% 0.14/0.42  % (15931)lrs+2_16:1_acc=model:au=on:bd=off:c=on:e2e=on:nm=2:sos=all:i=15:si=on:rtra=on_0 on Vampire---4 for (2999ds/15Mi)
% 0.14/0.42  % (15935)lrs+10_1:1_acc=on:amm=sco:cs=on:tgt=full:i=16:si=on:rtra=on_0 on Vampire---4 for (2999ds/16Mi)
% 0.14/0.42  % (15934)lrs+10_1:1_av=off:chr=on:plsq=on:slsq=on:i=7:si=on:rtra=on_0 on Vampire---4 for (2999ds/7Mi)
% 0.14/0.42  % (15927)Refutation not found, incomplete strategy
% 0.14/0.42  % (15927)------------------------------
% 0.14/0.42  % (15927)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.14/0.42  % (15927)Termination reason: Refutation not found, incomplete strategy
% 0.14/0.42  
% 0.14/0.42  
% 0.14/0.42  % (15927)Memory used [KB]: 6396
% 0.14/0.42  % (15927)Time elapsed: 0.027 s
% 0.14/0.42  % (15927)Instructions burned: 52 (million)
% 0.14/0.42  % (15927)------------------------------
% 0.14/0.42  % (15927)------------------------------
% 0.14/0.42  % (15931)Instruction limit reached!
% 0.14/0.42  % (15931)------------------------------
% 0.14/0.42  % (15931)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.14/0.42  % (15931)Termination reason: Unknown
% 0.14/0.42  % (15931)Termination phase: Property scanning
% 0.14/0.42  
% 0.14/0.42  % (15931)Memory used [KB]: 1663
% 0.14/0.42  % (15931)Time elapsed: 0.009 s
% 0.14/0.42  % (15931)Instructions burned: 15 (million)
% 0.14/0.42  % (15931)------------------------------
% 0.14/0.42  % (15931)------------------------------
% 0.21/0.43  % (15934)Instruction limit reached!
% 0.21/0.43  % (15934)------------------------------
% 0.21/0.43  % (15934)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.43  % (15934)Termination reason: Unknown
% 0.21/0.43  % (15934)Termination phase: shuffling
% 0.21/0.43  
% 0.21/0.43  % (15934)Memory used [KB]: 1407
% 0.21/0.43  % (15934)Time elapsed: 0.005 s
% 0.21/0.43  % (15934)Instructions burned: 7 (million)
% 0.21/0.43  % (15934)------------------------------
% 0.21/0.43  % (15934)------------------------------
% 0.21/0.43  % (15930)Instruction limit reached!
% 0.21/0.43  % (15930)------------------------------
% 0.21/0.43  % (15930)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.43  % (15930)Termination reason: Unknown
% 0.21/0.43  % (15930)Termination phase: Property scanning
% 0.21/0.43  
% 0.21/0.43  % (15930)Memory used [KB]: 1791
% 0.21/0.43  % (15930)Time elapsed: 0.018 s
% 0.21/0.43  % (15930)Instructions burned: 38 (million)
% 0.21/0.43  % (15930)------------------------------
% 0.21/0.43  % (15930)------------------------------
% 0.21/0.43  % (15936)lrs+21_1:1_au=on:cnfonf=off:fd=preordered:fe=off:fsr=off:hud=11:inj=on:kws=precedence:s2pl=no:sp=weighted_frequency:tgt=full:i=3:si=on:rtra=on_0 on Vampire---4 for (2999ds/3Mi)
% 0.21/0.43  % (15935)Instruction limit reached!
% 0.21/0.43  % (15935)------------------------------
% 0.21/0.43  % (15935)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.43  % (15935)Termination reason: Unknown
% 0.21/0.43  % (15935)Termination phase: shuffling
% 0.21/0.43  
% 0.21/0.43  % (15935)Memory used [KB]: 1535
% 0.21/0.43  % (15935)Time elapsed: 0.009 s
% 0.21/0.43  % (15935)Instructions burned: 16 (million)
% 0.21/0.43  % (15935)------------------------------
% 0.21/0.43  % (15935)------------------------------
% 0.21/0.43  % (15936)Instruction limit reached!
% 0.21/0.43  % (15936)------------------------------
% 0.21/0.43  % (15936)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.43  % (15936)Termination reason: Unknown
% 0.21/0.43  % (15936)Termination phase: shuffling
% 0.21/0.43  
% 0.21/0.43  % (15936)Memory used [KB]: 1279
% 0.21/0.43  % (15936)Time elapsed: 0.004 s
% 0.21/0.43  % (15936)Instructions burned: 5 (million)
% 0.21/0.43  % (15936)------------------------------
% 0.21/0.43  % (15936)------------------------------
% 0.21/0.44  % (15937)lrs+2_1:1_apa=on:au=on:bd=preordered:cnfonf=off:cs=on:ixr=off:sos=on:i=3:si=on:rtra=on_0 on Vampire---4 for (2999ds/3Mi)
% 0.21/0.44  % (15939)dis+1002_1:1_add=large:cnfonf=lazy_pi_sigma_gen:fe=off:prag=on:i=3:si=on:rtra=on_0 on Vampire---4 for (2999ds/3Mi)
% 0.21/0.44  % (15937)Instruction limit reached!
% 0.21/0.44  % (15937)------------------------------
% 0.21/0.44  % (15937)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.44  % (15937)Termination reason: Unknown
% 0.21/0.44  % (15937)Termination phase: shuffling
% 0.21/0.44  
% 0.21/0.44  % (15937)Memory used [KB]: 1279
% 0.21/0.44  % (15937)Time elapsed: 0.004 s
% 0.21/0.44  % (15937)Instructions burned: 4 (million)
% 0.21/0.44  % (15937)------------------------------
% 0.21/0.44  % (15937)------------------------------
% 0.21/0.44  % (15940)dis+1004_1:1_cha=on:cs=on:fe=off:hud=1:i=4:si=on:rtra=on_0 on Vampire---4 for (2999ds/4Mi)
% 0.21/0.44  % (15939)Instruction limit reached!
% 0.21/0.44  % (15939)------------------------------
% 0.21/0.44  % (15939)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.44  % (15939)Termination reason: Unknown
% 0.21/0.44  % (15939)Termination phase: shuffling
% 0.21/0.44  
% 0.21/0.44  % (15939)Memory used [KB]: 1279
% 0.21/0.44  % (15939)Time elapsed: 0.003 s
% 0.21/0.44  % (15939)Instructions burned: 3 (million)
% 0.21/0.44  % (15939)------------------------------
% 0.21/0.44  % (15939)------------------------------
% 0.21/0.44  % (15938)lrs+10_1:1_cnfonf=off:cs=on:hud=3:prag=on:sup=off:i=7:si=on:rtra=on_0 on Vampire---4 for (2999ds/7Mi)
% 0.21/0.44  % (15940)Instruction limit reached!
% 0.21/0.44  % (15940)------------------------------
% 0.21/0.44  % (15940)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.44  % (15940)Termination reason: Unknown
% 0.21/0.44  % (15940)Termination phase: shuffling
% 0.21/0.44  
% 0.21/0.44  % (15940)Memory used [KB]: 1279
% 0.21/0.44  % (15940)Time elapsed: 0.004 s
% 0.21/0.44  % (15940)Instructions burned: 5 (million)
% 0.21/0.44  % (15940)------------------------------
% 0.21/0.44  % (15940)------------------------------
% 0.21/0.44  % (15941)lrs+1002_1:1_anc=all_dependent:au=on:cbe=off:fde=unused:ntd=on:i=18:si=on:rtra=on_0 on Vampire---4 for (2999ds/18Mi)
% 0.21/0.44  % (15938)Instruction limit reached!
% 0.21/0.44  % (15938)------------------------------
% 0.21/0.44  % (15938)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.44  % (15938)Termination reason: Unknown
% 0.21/0.44  % (15938)Termination phase: shuffling
% 0.21/0.44  
% 0.21/0.44  % (15938)Memory used [KB]: 1407
% 0.21/0.44  % (15938)Time elapsed: 0.005 s
% 0.21/0.44  % (15938)Instructions burned: 7 (million)
% 0.21/0.44  % (15938)------------------------------
% 0.21/0.44  % (15938)------------------------------
% 0.21/0.45  % (15942)lrs+10_1:1_e2e=on:sd=1:sgt=8:ss=axioms:i=710:si=on:rtra=on_0 on Vampire---4 for (2999ds/710Mi)
% 0.21/0.45  % (15941)Instruction limit reached!
% 0.21/0.45  % (15941)------------------------------
% 0.21/0.45  % (15941)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.45  % (15941)Termination reason: Unknown
% 0.21/0.45  % (15941)Termination phase: shuffling
% 0.21/0.45  
% 0.21/0.45  % (15941)Memory used [KB]: 1663
% 0.21/0.45  % (15941)Time elapsed: 0.010 s
% 0.21/0.45  % (15941)Instructions burned: 19 (million)
% 0.21/0.45  % (15941)------------------------------
% 0.21/0.45  % (15941)------------------------------
% 0.21/0.45  % (15944)dis+1002_5:1_au=on:bd=off:e2e=on:fde=none:fs=off:fsr=off:sos=on:i=902:si=on:rtra=on_0 on Vampire---4 for (2999ds/902Mi)
% 0.21/0.45  % (15943)lrs+1004_1:1_chr=on:prag=on:i=6:si=on:rtra=on_0 on Vampire---4 for (2999ds/6Mi)
% 0.21/0.46  % (15945)dis+21_1:8_apa=on:cnfonf=off:fd=off:fsr=off:hud=0:ins=1:kws=inv_frequency:nwc=10.0:ss=axioms:st=5.0:i=21:si=on:rtra=on_0 on Vampire---4 for (2999ds/21Mi)
% 0.21/0.46  % (15943)Instruction limit reached!
% 0.21/0.46  % (15943)------------------------------
% 0.21/0.46  % (15943)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.46  % (15943)Termination reason: Unknown
% 0.21/0.46  % (15943)Termination phase: shuffling
% 0.21/0.46  
% 0.21/0.46  % (15943)Memory used [KB]: 1407
% 0.21/0.46  % (15943)Time elapsed: 0.005 s
% 0.21/0.46  % (15943)Instructions burned: 8 (million)
% 0.21/0.46  % (15943)------------------------------
% 0.21/0.46  % (15943)------------------------------
% 0.21/0.46  % (15946)dis+10_1:1_cnfonf=lazy_gen:fe=off:i=5:si=on:rtra=on_0 on Vampire---4 for (2999ds/5Mi)
% 0.21/0.46  % (15946)Instruction limit reached!
% 0.21/0.46  % (15946)------------------------------
% 0.21/0.46  % (15946)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.46  % (15946)Termination reason: Unknown
% 0.21/0.46  % (15946)Termination phase: shuffling
% 0.21/0.46  
% 0.21/0.46  % (15946)Memory used [KB]: 1279
% 0.21/0.46  % (15946)Time elapsed: 0.004 s
% 0.21/0.46  % (15946)Instructions burned: 5 (million)
% 0.21/0.46  % (15946)------------------------------
% 0.21/0.46  % (15946)------------------------------
% 0.21/0.46  % (15942)Refutation not found, incomplete strategy
% 0.21/0.46  % (15942)------------------------------
% 0.21/0.46  % (15942)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.46  % (15942)Termination reason: Refutation not found, incomplete strategy
% 0.21/0.46  
% 0.21/0.46  
% 0.21/0.46  % (15942)Memory used [KB]: 6268
% 0.21/0.46  % (15942)Time elapsed: 0.016 s
% 0.21/0.46  % (15942)Instructions burned: 29 (million)
% 0.21/0.46  % (15942)------------------------------
% 0.21/0.46  % (15942)------------------------------
% 0.21/0.46  % (15922)Instruction limit reached!
% 0.21/0.46  % (15922)------------------------------
% 0.21/0.46  % (15922)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.46  % (15922)Termination reason: Unknown
% 0.21/0.46  % (15922)Termination phase: Saturation
% 0.21/0.46  
% 0.21/0.46  % (15922)Memory used [KB]: 6652
% 0.21/0.46  % (15922)Time elapsed: 0.065 s
% 0.21/0.46  % (15922)Instructions burned: 184 (million)
% 0.21/0.46  % (15922)------------------------------
% 0.21/0.46  % (15922)------------------------------
% 0.21/0.47  % (15947)lrs+2_1:1_cnfonf=lazy_not_gen_be_off:cs=on:fe=off:hud=10:inj=on:ins=3:plsq=on:plsqc=1:sd=10:ss=axioms:tnu=1:i=6:si=on:rtra=on_0 on Vampire---4 for (2999ds/6Mi)
% 0.21/0.47  % (15945)Instruction limit reached!
% 0.21/0.47  % (15945)------------------------------
% 0.21/0.47  % (15945)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.47  % (15945)Termination reason: Unknown
% 0.21/0.47  % (15945)Termination phase: shuffling
% 0.21/0.47  
% 0.21/0.47  % (15945)Memory used [KB]: 1663
% 0.21/0.47  % (15945)Time elapsed: 0.011 s
% 0.21/0.47  % (15945)Instructions burned: 23 (million)
% 0.21/0.47  % (15945)------------------------------
% 0.21/0.47  % (15945)------------------------------
% 0.21/0.47  % (15947)Instruction limit reached!
% 0.21/0.47  % (15947)------------------------------
% 0.21/0.47  % (15947)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.47  % (15947)Termination reason: Unknown
% 0.21/0.47  % (15947)Termination phase: shuffling
% 0.21/0.47  
% 0.21/0.47  % (15947)Memory used [KB]: 1279
% 0.21/0.47  % (15947)Time elapsed: 0.005 s
% 0.21/0.47  % (15947)Instructions burned: 6 (million)
% 0.21/0.47  % (15947)------------------------------
% 0.21/0.47  % (15947)------------------------------
% 0.21/0.47  % (15951)lrs+1010_1:1_au=on:s2a=on:sd=1:sgt=50:ss=axioms:i=879:si=on:rtra=on_0 on Vampire---4 for (2999ds/879Mi)
% 0.21/0.47  % (15948)lrs+1002_1:128_au=on:c=on:fsr=off:piset=equals:i=377:si=on:rtra=on_0 on Vampire---4 for (2999ds/377Mi)
% 0.21/0.47  % (15949)dis+1010_1:4_atotf=0.2:c=on:cbe=off:cnfonf=lazy_simp:fe=off:ins=2:ntd=on:s2a=on:s2at=5.0:sgt=5:ss=axioms:st=1.5:i=779:si=on:rtra=on_0 on Vampire---4 for (2999ds/779Mi)
% 0.21/0.47  % (15950)lrs+10_1:1_cnfonf=lazy_not_be_gen:ntd=on:sp=const_min:ss=axioms:sup=off:i=19:si=on:rtra=on_0 on Vampire---4 for (2999ds/19Mi)
% 0.21/0.48  % (15950)Instruction limit reached!
% 0.21/0.48  % (15950)------------------------------
% 0.21/0.48  % (15950)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.48  % (15950)Termination reason: Unknown
% 0.21/0.48  % (15950)Termination phase: shuffling
% 0.21/0.48  
% 0.21/0.48  % (15950)Memory used [KB]: 1663
% 0.21/0.48  % (15950)Time elapsed: 0.010 s
% 0.21/0.48  % (15950)Instructions burned: 20 (million)
% 0.21/0.48  % (15950)------------------------------
% 0.21/0.48  % (15950)------------------------------
% 0.21/0.48  % (15953)ott+21_1:1_apa=on:au=on:cnfonf=off:sos=on:i=3:si=on:rtra=on_0 on Vampire---4 for (2999ds/3Mi)
% 0.21/0.48  % (15953)Instruction limit reached!
% 0.21/0.48  % (15953)------------------------------
% 0.21/0.48  % (15953)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.48  % (15953)Termination reason: Unknown
% 0.21/0.48  % (15953)Termination phase: shuffling
% 0.21/0.48  
% 0.21/0.48  % (15953)Memory used [KB]: 1279
% 0.21/0.48  % (15953)Time elapsed: 0.004 s
% 0.21/0.48  % (15953)Instructions burned: 4 (million)
% 0.21/0.49  % (15953)------------------------------
% 0.21/0.49  % (15953)------------------------------
% 0.21/0.49  % (15951)Refutation not found, incomplete strategy
% 0.21/0.49  % (15951)------------------------------
% 0.21/0.49  % (15951)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.49  % (15951)Termination reason: Refutation not found, incomplete strategy
% 0.21/0.49  
% 0.21/0.49  
% 0.21/0.49  % (15951)Memory used [KB]: 6268
% 0.21/0.49  % (15951)Time elapsed: 0.019 s
% 0.21/0.49  % (15951)Instructions burned: 61 (million)
% 0.21/0.49  % (15951)------------------------------
% 0.21/0.49  % (15951)------------------------------
% 0.21/0.50  % (15952)dis+1002_1:128_acc=on:er=filter:i=17:si=on:rtra=on_0 on Vampire---4 for (2999ds/17Mi)
% 0.21/0.50  % (15954)lrs+1010_1:8_cnfonf=off:hud=1:inj=on:tnu=5:i=30:si=on:rtra=on_0 on Vampire---4 for (2999ds/30Mi)
% 0.21/0.50  % (15956)lrs+1002_1:1_au=on:cbe=off:cnfonf=conj_eager:cond=on:hi=on:i=100:si=on:rtra=on_0 on Vampire---4 for (2998ds/100Mi)
% 0.21/0.50  % (15955)dis+10_1:1_ixr=off:plsq=on:plsqc=1:plsqr=32,1:s2a=on:i=127:si=on:rtra=on_0 on Vampire---4 for (2999ds/127Mi)
% 0.21/0.50  % (15952)Instruction limit reached!
% 0.21/0.50  % (15952)------------------------------
% 0.21/0.50  % (15952)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.50  % (15952)Termination reason: Unknown
% 0.21/0.50  % (15952)Termination phase: shuffling
% 0.21/0.50  
% 0.21/0.50  % (15952)Memory used [KB]: 1535
% 0.21/0.50  % (15952)Time elapsed: 0.009 s
% 0.21/0.50  % (15952)Instructions burned: 17 (million)
% 0.21/0.50  % (15952)------------------------------
% 0.21/0.50  % (15952)------------------------------
% 0.21/0.51  % (15954)Instruction limit reached!
% 0.21/0.51  % (15954)------------------------------
% 0.21/0.51  % (15954)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.51  % (15954)Termination reason: Unknown
% 0.21/0.51  % (15954)Termination phase: Property scanning
% 0.21/0.51  
% 0.21/0.51  % (15954)Memory used [KB]: 1791
% 0.21/0.51  % (15954)Time elapsed: 0.015 s
% 0.21/0.51  % (15954)Instructions burned: 31 (million)
% 0.21/0.51  % (15954)------------------------------
% 0.21/0.51  % (15954)------------------------------
% 0.21/0.52  % (15957)dis+10_1:1_anc=none:cnfonf=lazy_gen:fd=preordered:fe=off:hud=10:ins=3:ixr=off:nwc=5.0:plsq=on:plsqc=1:plsqr=32,1:sp=const_frequency:uhcvi=on:i=3:si=on:rtra=on_0 on Vampire---4 for (2998ds/3Mi)
% 0.21/0.52  % (15957)Instruction limit reached!
% 0.21/0.52  % (15957)------------------------------
% 0.21/0.52  % (15957)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.52  % (15957)Termination reason: Unknown
% 0.21/0.52  % (15957)Termination phase: shuffling
% 0.21/0.52  
% 0.21/0.52  % (15957)Memory used [KB]: 1279
% 0.21/0.52  % (15957)Time elapsed: 0.003 s
% 0.21/0.52  % (15957)Instructions burned: 4 (million)
% 0.21/0.52  % (15957)------------------------------
% 0.21/0.52  % (15957)------------------------------
% 0.21/0.52  % (15958)lrs+10_8:1_au=on:avsq=on:e2e=on:ins=3:s2a=on:s2at=3.0:ss=axioms:i=20:si=on:rtra=on_0 on Vampire---4 for (2998ds/20Mi)
% 0.21/0.53  % (15959)dis+1002_1:1_cbe=off:hud=5:nm=4:plsq=on:plsqr=7,1:prag=on:sp=const_max:tnu=1:i=86:si=on:rtra=on_0 on Vampire---4 for (2998ds/86Mi)
% 0.21/0.53  % (15958)Instruction limit reached!
% 0.21/0.53  % (15958)------------------------------
% 0.21/0.53  % (15958)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.53  % (15958)Termination reason: Unknown
% 0.21/0.53  % (15958)Termination phase: Property scanning
% 0.21/0.53  
% 0.21/0.53  % (15958)Memory used [KB]: 1663
% 0.21/0.53  % (15958)Time elapsed: 0.012 s
% 0.21/0.53  % (15958)Instructions burned: 21 (million)
% 0.21/0.53  % (15958)------------------------------
% 0.21/0.53  % (15958)------------------------------
% 0.21/0.53  % (15956)Instruction limit reached!
% 0.21/0.53  % (15956)------------------------------
% 0.21/0.53  % (15956)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.53  % (15956)Termination reason: Unknown
% 0.21/0.53  % (15956)Termination phase: Saturation
% 0.21/0.53  
% 0.21/0.53  % (15956)Memory used [KB]: 6524
% 0.21/0.53  % (15956)Time elapsed: 0.036 s
% 0.21/0.53  % (15956)Instructions burned: 102 (million)
% 0.21/0.53  % (15956)------------------------------
% 0.21/0.53  % (15956)------------------------------
% 0.21/0.54  % (15960)lrs+1010_1:1_au=on:cbe=off:nm=2:ntd=on:sd=2:ss=axioms:st=5.0:i=107:si=on:rtra=on_0 on Vampire---4 for (2998ds/107Mi)
% 0.21/0.55  % (15961)lrs+2_1:1024_cnfonf=lazy_gen:fe=off:hud=15:plsq=on:plsqc=1:plsqr=32,1:i=39:si=on:rtra=on_0 on Vampire---4 for (2998ds/39Mi)
% 0.21/0.55  % (15955)Instruction limit reached!
% 0.21/0.55  % (15955)------------------------------
% 0.21/0.55  % (15955)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.21/0.55  % (15955)Termination reason: Unknown
% 0.21/0.55  % (15955)Termination phase: Saturation
% 0.21/0.55  
% 0.21/0.55  % (15955)Memory used [KB]: 6524
% 0.21/0.55  % (15955)Time elapsed: 0.053 s
% 0.21/0.55  % (15955)Instructions burned: 128 (million)
% 0.21/0.55  % (15955)------------------------------
% 0.21/0.55  % (15955)------------------------------
% 1.47/0.56  % (15959)Instruction limit reached!
% 1.47/0.56  % (15959)------------------------------
% 1.47/0.56  % (15959)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 1.47/0.56  % (15959)Termination reason: Unknown
% 1.47/0.56  % (15959)Termination phase: Property scanning
% 1.47/0.56  
% 1.47/0.56  % (15959)Memory used [KB]: 2046
% 1.47/0.56  % (15959)Time elapsed: 0.036 s
% 1.47/0.56  % (15959)Instructions burned: 88 (million)
% 1.47/0.56  % (15959)------------------------------
% 1.47/0.56  % (15959)------------------------------
% 1.47/0.57  % (15962)dis+10_1:1_cnfonf=lazy_not_gen:fsr=off:kws=precedence:nwc=5.0:s2a=on:ss=axioms:st=1.5:i=448:si=on:rtra=on_0 on Vampire---4 for (2998ds/448Mi)
% 1.47/0.57  % (15961)Instruction limit reached!
% 1.47/0.57  % (15961)------------------------------
% 1.47/0.57  % (15961)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 1.47/0.57  % (15961)Termination reason: Unknown
% 1.47/0.57  % (15961)Termination phase: Property scanning
% 1.47/0.57  
% 1.47/0.57  % (15961)Memory used [KB]: 1791
% 1.47/0.57  % (15961)Time elapsed: 0.019 s
% 1.47/0.57  % (15961)Instructions burned: 40 (million)
% 1.47/0.57  % (15961)------------------------------
% 1.47/0.57  % (15961)------------------------------
% 1.47/0.58  % (15963)lrs+10_1:512_au=on:fde=unused:lma=on:nm=32:plsq=on:plsqc=1:plsqr=16121663,131072:sfv=off:sp=const_max:ss=axioms:st=3.0:tgt=full:i=46:si=on:rtra=on_0 on Vampire---4 for (2998ds/46Mi)
% 1.61/0.58  % (15964)lrs+10_1:10_au=on:av=off:cbe=off:cnfonf=lazy_pi_sigma_gen:ntd=on:plsq=on:plsqc=1:plsqr=32,1:i=98:si=on:rtra=on_0 on Vampire---4 for (2998ds/98Mi)
% 1.61/0.59  % (15960)Instruction limit reached!
% 1.61/0.59  % (15960)------------------------------
% 1.61/0.59  % (15960)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 1.61/0.59  % (15960)Termination reason: Unknown
% 1.61/0.59  % (15960)Termination phase: Saturation
% 1.61/0.59  
% 1.61/0.59  % (15960)Memory used [KB]: 6396
% 1.61/0.59  % (15960)Time elapsed: 0.033 s
% 1.61/0.59  % (15960)Instructions burned: 108 (million)
% 1.61/0.59  % (15960)------------------------------
% 1.61/0.59  % (15960)------------------------------
% 1.61/0.60  % (15965)ott+1002_1:1_apa=on:au=on:bd=off:cnfonf=off:fd=off:sos=on:sp=weighted_frequency:i=507:si=on:rtra=on_0 on Vampire---4 for (2998ds/507Mi)
% 1.61/0.60  % (15963)Instruction limit reached!
% 1.61/0.60  % (15963)------------------------------
% 1.61/0.60  % (15963)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 1.61/0.60  % (15963)Termination reason: Unknown
% 1.61/0.60  % (15963)Termination phase: SInE selection
% 1.61/0.60  
% 1.61/0.60  % (15963)Memory used [KB]: 1791
% 1.61/0.60  % (15963)Time elapsed: 0.021 s
% 1.61/0.60  % (15963)Instructions burned: 47 (million)
% 1.61/0.60  % (15963)------------------------------
% 1.61/0.60  % (15963)------------------------------
% 1.61/0.61  % (15966)dis+1010_2:3_amm=off:fd=preordered:ixr=off:nm=0:pe=on:piset=equals:prag=on:sac=on:tgt=ground:i=149:si=on:rtra=on_0 on Vampire---4 for (2997ds/149Mi)
% 1.61/0.62  % (15964)Instruction limit reached!
% 1.61/0.62  % (15964)------------------------------
% 1.61/0.62  % (15964)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 1.61/0.62  % (15964)Termination reason: Unknown
% 1.61/0.62  % (15964)Termination phase: Saturation
% 1.61/0.62  
% 1.61/0.62  % (15964)Memory used [KB]: 2046
% 1.61/0.62  % (15964)Time elapsed: 0.041 s
% 1.61/0.62  % (15964)Instructions burned: 100 (million)
% 1.61/0.62  % (15964)------------------------------
% 1.61/0.62  % (15964)------------------------------
% 1.90/0.64  % (15967)lrs+21_1:16_au=on:bd=off:piset=and:i=39:si=on:rtra=on_0 on Vampire---4 for (2997ds/39Mi)
% 1.90/0.64  % (15948)Instruction limit reached!
% 1.90/0.64  % (15948)------------------------------
% 1.90/0.64  % (15948)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 1.90/0.64  % (15948)Termination reason: Unknown
% 1.90/0.64  % (15948)Termination phase: Saturation
% 1.90/0.64  
% 1.90/0.64  % (15948)Memory used [KB]: 7547
% 1.90/0.64  % (15948)Time elapsed: 0.171 s
% 1.90/0.64  % (15948)Instructions burned: 378 (million)
% 1.90/0.64  % (15948)------------------------------
% 1.90/0.64  % (15948)------------------------------
% 1.99/0.66  % (15967)Instruction limit reached!
% 1.99/0.66  % (15967)------------------------------
% 1.99/0.66  % (15967)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 1.99/0.66  % (15967)Termination reason: Unknown
% 1.99/0.66  % (15967)Termination phase: Property scanning
% 1.99/0.66  
% 1.99/0.66  % (15967)Memory used [KB]: 1791
% 1.99/0.66  % (15967)Time elapsed: 0.019 s
% 1.99/0.66  % (15967)Instructions burned: 40 (million)
% 1.99/0.66  % (15967)------------------------------
% 1.99/0.66  % (15967)------------------------------
% 1.99/0.66  % (15968)lrs+1004_1:1_cnfonf=lazy_pi_sigma_gen:fe=off:gs=on:hud=10:prag=on:tnu=1:i=6:si=on:rtra=on_0 on Vampire---4 for (2997ds/6Mi)
% 1.99/0.66  % (15968)Instruction limit reached!
% 1.99/0.66  % (15968)------------------------------
% 1.99/0.66  % (15968)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 1.99/0.66  % (15968)Termination reason: Unknown
% 1.99/0.66  % (15968)Termination phase: shuffling
% 1.99/0.66  
% 1.99/0.66  % (15968)Memory used [KB]: 1407
% 1.99/0.66  % (15968)Time elapsed: 0.005 s
% 1.99/0.66  % (15968)Instructions burned: 8 (million)
% 1.99/0.66  % (15968)------------------------------
% 1.99/0.66  % (15968)------------------------------
% 1.99/0.67  % (15969)dis+1002_1:1_aac=none:au=on:e2e=on:nm=2:nwc=10.0:sd=1:ss=axioms:st=3.0:i=1087:si=on:rtra=on_0 on Vampire---4 for (2997ds/1087Mi)
% 1.99/0.68  % (15966)Instruction limit reached!
% 1.99/0.68  % (15966)------------------------------
% 1.99/0.68  % (15966)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 1.99/0.68  % (15966)Termination reason: Unknown
% 1.99/0.68  % (15966)Termination phase: Saturation
% 1.99/0.68  
% 1.99/0.68  % (15966)Memory used [KB]: 6908
% 1.99/0.68  % (15966)Time elapsed: 0.090 s
% 1.99/0.68  % (15966)Instructions burned: 149 (million)
% 1.99/0.68  % (15966)------------------------------
% 1.99/0.68  % (15966)------------------------------
% 1.99/0.68  % (15970)dis+10_1:1_aac=none:cs=on:i=47:si=on:rtra=on_0 on Vampire---4 for (2997ds/47Mi)
% 1.99/0.69  % (15969)Refutation not found, incomplete strategy
% 1.99/0.69  % (15969)------------------------------
% 1.99/0.69  % (15969)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 1.99/0.69  % (15969)Termination reason: Refutation not found, incomplete strategy
% 1.99/0.69  
% 1.99/0.69  
% 1.99/0.69  % (15969)Memory used [KB]: 6268
% 1.99/0.69  % (15969)Time elapsed: 0.038 s
% 1.99/0.69  % (15969)Instructions burned: 30 (million)
% 1.99/0.69  % (15969)------------------------------
% 1.99/0.69  % (15969)------------------------------
% 1.99/0.69  % (15971)lrs+1010_1:128_av=off:cbe=off:cnfonf=lazy_simp:fsr=off:ntd=on:ss=axioms:st=1.5:i=44:si=on:rtra=on_0 on Vampire---4 for (2997ds/44Mi)
% 1.99/0.70  % (15970)Instruction limit reached!
% 1.99/0.70  % (15970)------------------------------
% 1.99/0.70  % (15970)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 1.99/0.70  % (15970)Termination reason: Unknown
% 1.99/0.70  % (15970)Termination phase: Property scanning
% 1.99/0.70  
% 1.99/0.70  % (15970)Memory used [KB]: 1791
% 1.99/0.70  % (15970)Time elapsed: 0.022 s
% 1.99/0.70  % (15970)Instructions burned: 47 (million)
% 1.99/0.70  % (15970)------------------------------
% 1.99/0.70  % (15970)------------------------------
% 1.99/0.70  % (15972)dis+10_1:1_av=off:bd=off:cnfonf=lazy_gen:fe=off:hud=10:plsq=on:plsqc=1:plsqr=32,1:prag=on:tnu=1:i=432:si=on:rtra=on_0 on Vampire---4 for (2997ds/432Mi)
% 2.36/0.71  % (15971)Instruction limit reached!
% 2.36/0.71  % (15971)------------------------------
% 2.36/0.71  % (15971)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.36/0.71  % (15971)Termination reason: Unknown
% 2.36/0.71  % (15971)Termination phase: SInE selection
% 2.36/0.71  
% 2.36/0.71  % (15971)Memory used [KB]: 1791
% 2.36/0.71  % (15971)Time elapsed: 0.021 s
% 2.36/0.71  % (15971)Instructions burned: 45 (million)
% 2.36/0.71  % (15971)------------------------------
% 2.36/0.71  % (15971)------------------------------
% 2.36/0.72  % (15973)lrs+10_7:1_cnfonf=lazy_gen:fe=off:nwc=5.0:plsq=on:i=62:si=on:rtra=on_0 on Vampire---4 for (2996ds/62Mi)
% 2.36/0.74  % (15974)lrs+1010_1:16_add=large:amm=off:anc=all_dependent:chr=on:fd=off:ins=2:sp=const_max:tnu=5:uhcvi=on:i=31:si=on:rtra=on_0 on Vampire---4 for (2996ds/31Mi)
% 2.36/0.75  % (15973)Instruction limit reached!
% 2.36/0.75  % (15973)------------------------------
% 2.36/0.75  % (15973)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.36/0.75  % (15973)Termination reason: Unknown
% 2.36/0.75  % (15973)Termination phase: Property scanning
% 2.36/0.75  
% 2.36/0.75  % (15973)Memory used [KB]: 1791
% 2.36/0.75  % (15973)Time elapsed: 0.028 s
% 2.36/0.75  % (15973)Instructions burned: 62 (million)
% 2.36/0.75  % (15973)------------------------------
% 2.36/0.75  % (15973)------------------------------
% 2.36/0.76  % (15962)Instruction limit reached!
% 2.36/0.76  % (15962)------------------------------
% 2.36/0.76  % (15962)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.36/0.76  % (15962)Termination reason: Unknown
% 2.36/0.76  % (15962)Termination phase: Saturation
% 2.36/0.76  
% 2.36/0.76  % (15962)Memory used [KB]: 7291
% 2.36/0.76  % (15962)Time elapsed: 0.194 s
% 2.36/0.76  % (15962)Instructions burned: 449 (million)
% 2.36/0.76  % (15962)------------------------------
% 2.36/0.76  % (15962)------------------------------
% 2.79/0.76  % (15975)dis+10_1:128_hud=1:i=96:si=on:rtra=on_0 on Vampire---4 for (2996ds/96Mi)
% 2.79/0.77  % (15974)Instruction limit reached!
% 2.79/0.77  % (15974)------------------------------
% 2.79/0.77  % (15974)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.79/0.77  % (15974)Termination reason: Unknown
% 2.79/0.77  % (15974)Termination phase: Property scanning
% 2.79/0.77  
% 2.79/0.77  % (15974)Memory used [KB]: 1791
% 2.79/0.77  % (15974)Time elapsed: 0.015 s
% 2.79/0.77  % (15974)Instructions burned: 33 (million)
% 2.79/0.77  % (15974)------------------------------
% 2.79/0.77  % (15974)------------------------------
% 2.79/0.78  % (15976)lrs+1002_1:4_au=on:cbe=off:cnfonf=lazy_pi_sigma_gen:hud=15:inj=on:nwc=4.0:s2a=on:sac=on:sp=reverse_arity:i=453:si=on:rtra=on_0 on Vampire---4 for (2996ds/453Mi)
% 2.79/0.78  % (15977)lrs-1004_1:1_au=on:bsd=on:cbe=off:cnfonf=off:fe=axiom:fsd=on:i=71:si=on:rtra=on_0 on Vampire---4 for (2996ds/71Mi)
% 2.79/0.78  % (15965)Instruction limit reached!
% 2.79/0.78  % (15965)------------------------------
% 2.79/0.78  % (15965)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.79/0.78  % (15965)Termination reason: Unknown
% 2.79/0.78  % (15965)Termination phase: Saturation
% 2.79/0.78  
% 2.79/0.78  % (15965)Memory used [KB]: 6780
% 2.79/0.78  % (15965)Time elapsed: 0.165 s
% 2.79/0.78  % (15965)Instructions burned: 507 (million)
% 2.79/0.78  % (15965)------------------------------
% 2.79/0.78  % (15965)------------------------------
% 2.79/0.80  % (15975)Instruction limit reached!
% 2.79/0.80  % (15975)------------------------------
% 2.79/0.80  % (15975)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.79/0.80  % (15975)Termination reason: Unknown
% 2.79/0.80  % (15975)Termination phase: Saturation
% 2.79/0.80  
% 2.79/0.80  % (15975)Memory used [KB]: 6524
% 2.79/0.80  % (15975)Time elapsed: 0.041 s
% 2.79/0.80  % (15975)Instructions burned: 97 (million)
% 2.79/0.80  % (15975)------------------------------
% 2.79/0.80  % (15975)------------------------------
% 2.79/0.81  % (15978)dis+1002_1:1_bd=off:fsr=off:ntd=on:s2a=on:ss=axioms:i=83:si=on:rtra=on_0 on Vampire---4 for (2995ds/83Mi)
% 2.79/0.81  % (15977)Instruction limit reached!
% 2.79/0.81  % (15977)------------------------------
% 2.79/0.81  % (15977)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.79/0.81  % (15977)Termination reason: Unknown
% 2.79/0.81  % (15977)Termination phase: Function definition elimination
% 2.79/0.81  
% 2.79/0.81  % (15977)Memory used [KB]: 1791
% 2.79/0.81  % (15977)Time elapsed: 0.031 s
% 2.79/0.81  % (15977)Instructions burned: 71 (million)
% 2.79/0.81  % (15977)------------------------------
% 2.79/0.81  % (15977)------------------------------
% 2.79/0.82  % (15979)lrs+10_1:128_cnfonf=lazy_not_gen_be_off:hud=1:ins=1:i=11:si=on:rtra=on_0 on Vampire---4 for (2995ds/11Mi)
% 2.79/0.83  % (15979)Instruction limit reached!
% 2.79/0.83  % (15979)------------------------------
% 2.79/0.83  % (15979)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.79/0.83  % (15979)Termination reason: Unknown
% 2.79/0.83  % (15979)Termination phase: shuffling
% 2.79/0.83  
% 2.79/0.83  % (15979)Memory used [KB]: 1407
% 2.79/0.83  % (15979)Time elapsed: 0.007 s
% 2.79/0.83  % (15979)Instructions burned: 11 (million)
% 2.79/0.83  % (15979)------------------------------
% 2.79/0.83  % (15979)------------------------------
% 2.79/0.83  % (15980)lrs+1010_1:1_au=on:cbe=off:cnfonf=lazy_not_gen_be_off:fsr=off:spb=non_intro:i=41:si=on:rtra=on_0 on Vampire---4 for (2995ds/41Mi)
% 2.79/0.83  % (15949)Instruction limit reached!
% 2.79/0.83  % (15949)------------------------------
% 2.79/0.83  % (15949)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.79/0.83  % (15949)Termination reason: Unknown
% 2.79/0.83  % (15949)Termination phase: Saturation
% 2.79/0.83  
% 2.79/0.83  % (15949)Memory used [KB]: 7931
% 2.79/0.83  % (15949)Time elapsed: 0.362 s
% 2.79/0.83  % (15949)Instructions burned: 780 (million)
% 2.79/0.83  % (15949)------------------------------
% 2.79/0.83  % (15949)------------------------------
% 2.79/0.84  % (15981)lrs+1004_1:1_chr=on:prag=on:i=6:si=on:rtra=on_0 on Vampire---4 for (2995ds/6Mi)
% 2.79/0.84  % (15978)Instruction limit reached!
% 2.79/0.84  % (15978)------------------------------
% 2.79/0.84  % (15978)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.79/0.84  % (15978)Termination reason: Unknown
% 2.79/0.84  % (15978)Termination phase: Saturation
% 2.79/0.84  
% 2.79/0.84  % (15978)Memory used [KB]: 6268
% 2.79/0.84  % (15978)Time elapsed: 0.023 s
% 2.79/0.84  % (15978)Instructions burned: 84 (million)
% 2.79/0.84  % (15978)------------------------------
% 2.79/0.84  % (15978)------------------------------
% 2.79/0.84  % (15981)Instruction limit reached!
% 2.79/0.84  % (15981)------------------------------
% 2.79/0.84  % (15981)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.79/0.84  % (15981)Termination reason: Unknown
% 2.79/0.84  % (15981)Termination phase: shuffling
% 2.79/0.84  
% 2.79/0.84  % (15981)Memory used [KB]: 1407
% 2.79/0.84  % (15981)Time elapsed: 0.005 s
% 2.79/0.84  % (15981)Instructions burned: 8 (million)
% 2.79/0.84  % (15981)------------------------------
% 2.79/0.84  % (15981)------------------------------
% 3.39/0.85  % (15980)Instruction limit reached!
% 3.39/0.85  % (15980)------------------------------
% 3.39/0.85  % (15980)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.39/0.85  % (15980)Termination reason: Unknown
% 3.39/0.85  % (15980)Termination phase: Property scanning
% 3.39/0.85  
% 3.39/0.85  % (15980)Memory used [KB]: 1791
% 3.39/0.85  % (15980)Time elapsed: 0.013 s
% 3.39/0.85  % (15980)Instructions burned: 41 (million)
% 3.39/0.85  % (15980)------------------------------
% 3.39/0.85  % (15980)------------------------------
% 3.39/0.85  % (15982)dis+10_1:1_avsq=on:cnfonf=off:e2e=on:nm=32:i=150:si=on:rtra=on_0 on Vampire---4 for (2995ds/150Mi)
% 3.39/0.85  % (15984)ott+1010_1:4_cbe=off:chr=on:hfsq=on:hfsqr=1,16:hud=3:sac=on:sp=unary_frequency:ss=axioms:st=5.0:tnu=2:i=109:si=on:rtra=on_0 on Vampire---4 for (2995ds/109Mi)
% 3.39/0.86  % (15983)ott+1010_1:1_au=on:s2a=on:sd=7:ss=axioms:st=1.5:i=343:si=on:rtra=on_0 on Vampire---4 for (2995ds/343Mi)
% 3.39/0.87  % (15972)Instruction limit reached!
% 3.39/0.87  % (15972)------------------------------
% 3.39/0.87  % (15972)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.39/0.87  % (15972)Termination reason: Unknown
% 3.39/0.87  % (15972)Termination phase: Saturation
% 3.39/0.87  
% 3.39/0.87  % (15972)Memory used [KB]: 2558
% 3.39/0.87  % (15972)Time elapsed: 0.191 s
% 3.39/0.87  % (15972)Instructions burned: 432 (million)
% 3.39/0.87  % (15972)------------------------------
% 3.39/0.87  % (15972)------------------------------
% 3.39/0.87  % (15985)dis+10_1:1_au=on:c=on:e2e=on:fsr=off:sos=all:sp=const_frequency:ss=axioms:i=253:si=on:rtra=on_0 on Vampire---4 for (2995ds/253Mi)
% 3.39/0.87  % (15944)Instruction limit reached!
% 3.39/0.87  % (15944)------------------------------
% 3.39/0.87  % (15944)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.39/0.87  % (15944)Termination reason: Unknown
% 3.39/0.87  % (15944)Termination phase: Saturation
% 3.39/0.87  
% 3.39/0.87  % (15944)Memory used [KB]: 11129
% 3.39/0.87  % (15944)Time elapsed: 0.422 s
% 3.39/0.87  % (15944)Instructions burned: 902 (million)
% 3.39/0.87  % (15944)------------------------------
% 3.39/0.87  % (15944)------------------------------
% 3.39/0.87  % (15933)Instruction limit reached!
% 3.39/0.87  % (15933)------------------------------
% 3.39/0.87  % (15933)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.39/0.87  % (15933)Termination reason: Unknown
% 3.39/0.87  % (15933)Termination phase: Saturation
% 3.39/0.87  
% 3.39/0.87  % (15933)Memory used [KB]: 9594
% 3.39/0.87  % (15933)Time elapsed: 0.465 s
% 3.39/0.87  % (15933)Instructions burned: 1041 (million)
% 3.39/0.87  % (15933)------------------------------
% 3.39/0.87  % (15933)------------------------------
% 3.67/0.89  % (15988)lrs+1002_1:1_e2e=on:fde=unused:fe=axiom:prag=on:sd=1:sos=on:ss=axioms:st=2.0:i=202:si=on:rtra=on_0 on Vampire---4 for (2995ds/202Mi)
% 3.67/0.89  % (15987)dis+1010_16:1_acc=model:au=on:avsq=on:cond=fast:plsq=on:plsqc=2:plsqr=9267,262144:i=614:si=on:rtra=on_0 on Vampire---4 for (2995ds/614Mi)
% 3.67/0.89  % (15986)lrs+10_1:1_au=on:cnfonf=off:sd=1:sgt=16:ss=axioms:i=140:si=on:rtra=on_0 on Vampire---4 for (2995ds/140Mi)
% 3.67/0.90  % (15984)Instruction limit reached!
% 3.67/0.90  % (15984)------------------------------
% 3.67/0.90  % (15984)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.67/0.90  % (15984)Termination reason: Unknown
% 3.67/0.90  % (15984)Termination phase: Saturation
% 3.67/0.90  
% 3.67/0.90  % (15984)Memory used [KB]: 6524
% 3.67/0.90  % (15984)Time elapsed: 0.044 s
% 3.67/0.90  % (15984)Instructions burned: 111 (million)
% 3.67/0.90  % (15984)------------------------------
% 3.67/0.90  % (15984)------------------------------
% 3.67/0.90  % (15988)Refutation not found, incomplete strategy
% 3.67/0.90  % (15988)------------------------------
% 3.67/0.90  % (15988)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.67/0.90  % (15988)Termination reason: Refutation not found, incomplete strategy
% 3.67/0.90  
% 3.67/0.90  
% 3.67/0.90  % (15988)Memory used [KB]: 6140
% 3.67/0.90  % (15988)Time elapsed: 0.017 s
% 3.67/0.90  % (15988)Instructions burned: 30 (million)
% 3.67/0.90  % (15988)------------------------------
% 3.67/0.90  % (15988)------------------------------
% 3.67/0.91  % (15989)dis+1002_1:1_au=on:cs=on:ins=3:kws=inv_frequency:nwc=10.0:ss=axioms:st=3.0:i=339:si=on:rtra=on_0 on Vampire---4 for (2994ds/339Mi)
% 3.67/0.91  % (15986)Refutation not found, incomplete strategy
% 3.67/0.91  % (15986)------------------------------
% 3.67/0.91  % (15986)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.67/0.91  % (15986)Termination reason: Refutation not found, incomplete strategy
% 3.67/0.91  
% 3.67/0.91  
% 3.67/0.91  % (15986)Memory used [KB]: 6396
% 3.67/0.91  % (15986)Time elapsed: 0.047 s
% 3.67/0.91  % (15986)Instructions burned: 53 (million)
% 3.67/0.91  % (15986)------------------------------
% 3.67/0.91  % (15986)------------------------------
% 3.67/0.91  % (15982)Instruction limit reached!
% 3.67/0.91  % (15982)------------------------------
% 3.67/0.91  % (15982)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.67/0.91  % (15982)Termination reason: Unknown
% 3.67/0.91  % (15982)Termination phase: Property scanning
% 3.67/0.91  
% 3.67/0.91  % (15982)Memory used [KB]: 3070
% 3.67/0.91  % (15982)Time elapsed: 0.067 s
% 3.67/0.91  % (15982)Instructions burned: 150 (million)
% 3.67/0.91  % (15982)------------------------------
% 3.67/0.91  % (15982)------------------------------
% 3.67/0.92  % (15990)dis+10_1:1_anc=none:cnfonf=lazy_gen:fd=preordered:fe=off:hud=10:ins=3:ixr=off:nwc=5.0:plsq=on:plsqc=1:plsqr=32,1:sp=const_frequency:uhcvi=on:i=283:si=on:rtra=on_0 on Vampire---4 for (2994ds/283Mi)
% 3.67/0.93  % (15992)dis+1010_1:64_cnfonf=lazy_simp:fd=off:i=298:si=on:rtra=on_0 on Vampire---4 for (2994ds/298Mi)
% 3.67/0.93  % (15991)dis+2_1:1_cha=on:hud=7:nwc=3.0:prag=on:tnu=2:i=134:si=on:rtra=on_0 on Vampire---4 for (2994ds/134Mi)
% 3.87/0.96  % (15985)Instruction limit reached!
% 3.87/0.96  % (15985)------------------------------
% 3.87/0.96  % (15985)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.87/0.96  % (15985)Termination reason: Unknown
% 3.87/0.96  % (15985)Termination phase: Saturation
% 3.87/0.96  
% 3.87/0.96  % (15985)Memory used [KB]: 7675
% 3.87/0.96  % (15985)Time elapsed: 0.119 s
% 3.87/0.96  % (15985)Instructions burned: 254 (million)
% 3.87/0.96  % (15985)------------------------------
% 3.87/0.96  % (15985)------------------------------
% 3.87/0.97  % (15976)Instruction limit reached!
% 3.87/0.97  % (15976)------------------------------
% 3.87/0.97  % (15976)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.87/0.97  % (15976)Termination reason: Unknown
% 3.87/0.97  % (15976)Termination phase: Saturation
% 3.87/0.97  
% 3.87/0.97  % (15976)Memory used [KB]: 7419
% 3.87/0.97  % (15976)Time elapsed: 0.208 s
% 3.87/0.97  % (15976)Instructions burned: 453 (million)
% 3.87/0.97  % (15976)------------------------------
% 3.87/0.97  % (15976)------------------------------
% 3.87/0.97  % (15993)lrs+2_1:8_erd=off:plsq=on:plsqr=32,1:sos=on:i=192:si=on:rtra=on_0 on Vampire---4 for (2994ds/192Mi)
% 3.87/0.98  % (15991)Instruction limit reached!
% 3.87/0.98  % (15991)------------------------------
% 3.87/0.98  % (15991)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.87/0.98  % (15991)Termination reason: Unknown
% 3.87/0.98  % (15991)Termination phase: Saturation
% 3.87/0.98  
% 3.87/0.98  % (15991)Memory used [KB]: 6524
% 3.87/0.98  % (15991)Time elapsed: 0.055 s
% 3.87/0.98  % (15991)Instructions burned: 135 (million)
% 3.87/0.98  % (15991)------------------------------
% 3.87/0.98  % (15991)------------------------------
% 3.87/0.99  % (15994)lrs+10_1:1_bd=off:hud=1:nm=0:prag=on:sd=2:sgt=32:sos=all:ss=axioms:i=258:si=on:rtra=on_0 on Vampire---4 for (2994ds/258Mi)
% 3.87/1.00  % (15995)lrs+1002_1:1024_au=on:cond=fast:ntd=on:piset=and:plsq=on:plsqc=1:plsqr=183491,1048576:sac=on:tgt=ground:i=90:si=on:rtra=on_0 on Vampire---4 for (2994ds/90Mi)
% 3.87/1.01  % (15983)Instruction limit reached!
% 3.87/1.01  % (15983)------------------------------
% 3.87/1.01  % (15983)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.87/1.01  % (15983)Termination reason: Unknown
% 3.87/1.01  % (15983)Termination phase: Saturation
% 3.87/1.01  
% 3.87/1.01  % (15983)Memory used [KB]: 7547
% 3.87/1.01  % (15983)Time elapsed: 0.155 s
% 3.87/1.01  % (15983)Instructions burned: 344 (million)
% 3.87/1.01  % (15983)------------------------------
% 3.87/1.01  % (15983)------------------------------
% 4.37/1.02  % (15993)Instruction limit reached!
% 4.37/1.02  % (15993)------------------------------
% 4.37/1.02  % (15993)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 4.37/1.02  % (15993)Termination reason: Unknown
% 4.37/1.02  % (15993)Termination phase: Saturation
% 4.37/1.02  
% 4.37/1.02  % (15993)Memory used [KB]: 6652
% 4.37/1.02  % (15993)Time elapsed: 0.048 s
% 4.37/1.02  % (15993)Instructions burned: 193 (million)
% 4.37/1.02  % (15993)------------------------------
% 4.37/1.02  % (15993)------------------------------
% 4.37/1.02  % (15996)dis+1004_16:1_avsq=on:avsqr=1,16:cnfonf=lazy_gen:cs=on:fe=off:tgt=ground:tnu=1:i=231:si=on:rtra=on_0 on Vampire---4 for (2993ds/231Mi)
% 4.37/1.03  % (15989)Instruction limit reached!
% 4.37/1.03  % (15989)------------------------------
% 4.37/1.03  % (15989)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 4.37/1.03  % (15989)Termination reason: Unknown
% 4.37/1.03  % (15989)Termination phase: Saturation
% 4.37/1.03  
% 4.37/1.03  % (15989)Memory used [KB]: 7036
% 4.37/1.03  % (15989)Time elapsed: 0.117 s
% 4.37/1.03  % (15989)Instructions burned: 340 (million)
% 4.37/1.03  % (15989)------------------------------
% 4.37/1.03  % (15989)------------------------------
% 4.37/1.03  % (15997)lrs+1002_1:1_au=on:s2a=on:sgt=32:slsq=on:slsqc=1:slsql=off:ss=axioms:i=458:si=on:rtra=on_0 on Vampire---4 for (2993ds/458Mi)
% 4.37/1.03  % (15990)Instruction limit reached!
% 4.37/1.03  % (15990)------------------------------
% 4.37/1.03  % (15990)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 4.37/1.03  % (15990)Termination reason: Unknown
% 4.37/1.03  % (15990)Termination phase: Saturation
% 4.37/1.03  
% 4.37/1.03  % (15990)Memory used [KB]: 7036
% 4.37/1.03  % (15990)Time elapsed: 0.111 s
% 4.37/1.03  % (15990)Instructions burned: 284 (million)
% 4.37/1.03  % (15990)------------------------------
% 4.37/1.03  % (15990)------------------------------
% 4.37/1.03  % (15995)Instruction limit reached!
% 4.37/1.03  % (15995)------------------------------
% 4.37/1.03  % (15995)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 4.37/1.03  % (15995)Termination reason: Unknown
% 4.37/1.03  % (15995)Termination phase: Twee Goal Transformation
% 4.37/1.03  
% 4.37/1.03  % (15995)Memory used [KB]: 2174
% 4.37/1.03  % (15995)Time elapsed: 0.038 s
% 4.37/1.03  % (15995)Instructions burned: 91 (million)
% 4.37/1.03  % (15995)------------------------------
% 4.37/1.03  % (15995)------------------------------
% 4.37/1.04  % (15999)lrs+10_1:1_cnfonf=lazy_gen:kws=inv_precedence:nwc=10.0:s2a=on:sp=weighted_frequency:ss=axioms:i=297:si=on:rtra=on_0 on Vampire---4 for (2993ds/297Mi)
% 4.37/1.04  % (16000)dis+2_1:4_amm=off:au=on:cbe=off:cnfonf=lazy_gen:hfaw=0:hfsq=on:hfsql=off:plsq=on:plsqc=1:plsqr=35,4:sac=on:i=987:si=on:rtra=on_0 on Vampire---4 for (2993ds/987Mi)
% 4.37/1.05  % (15998)lrs+1010_1:16_add=large:amm=off:anc=all_dependent:chr=on:fd=off:ins=2:sp=const_max:tnu=5:uhcvi=on:i=31:si=on:rtra=on_0 on Vampire---4 for (2993ds/31Mi)
% 4.37/1.06  % (15992)Instruction limit reached!
% 4.37/1.06  % (15992)------------------------------
% 4.37/1.06  % (15992)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 4.37/1.06  % (15992)Termination reason: Unknown
% 4.37/1.06  % (15992)Termination phase: Saturation
% 4.37/1.06  
% 4.37/1.06  % (15992)Memory used [KB]: 7291
% 4.37/1.06  % (15992)Time elapsed: 0.133 s
% 4.37/1.06  % (15992)Instructions burned: 298 (million)
% 4.37/1.06  % (15992)------------------------------
% 4.37/1.06  % (15992)------------------------------
% 4.37/1.07  % (15998)Instruction limit reached!
% 4.37/1.07  % (15998)------------------------------
% 4.37/1.07  % (15998)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 4.37/1.07  % (15998)Termination reason: Unknown
% 4.37/1.07  % (15998)Termination phase: Property scanning
% 4.37/1.07  
% 4.37/1.07  % (15998)Memory used [KB]: 1791
% 4.37/1.07  % (15998)Time elapsed: 0.013 s
% 4.37/1.07  % (15998)Instructions burned: 31 (million)
% 4.37/1.07  % (15998)------------------------------
% 4.37/1.07  % (15998)------------------------------
% 4.37/1.07  % (16001)lrs+10_1:1024_avsq=on:avsqc=4:avsqr=584411,1048576:bd=off:bet=on:br=off:chr=on:fsd=on:fsdmm=1:hud=10:nm=0:ntd=on:nwc=9.0:piset=or:plsq=on:plsqc=2:plsql=on:plsqr=852219,1048576:rawr=on:sp=const_frequency:spb=units:i=182:si=on:rtra=on_0 on Vampire---4 for (2993ds/182Mi)
% 5.30/1.08  % (16002)dis+10_1:1_au=on:e2e=on:fde=none:nwc=10.0:s2a=on:s2at=2.0:i=182:si=on:rtra=on_0 on Vampire---4 for (2993ds/182Mi)
% 5.30/1.10  % (15994)Instruction limit reached!
% 5.30/1.10  % (15994)------------------------------
% 5.30/1.10  % (15994)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 5.30/1.10  % (15994)Termination reason: Unknown
% 5.30/1.10  % (15994)Termination phase: Saturation
% 5.30/1.10  
% 5.30/1.10  % (15994)Memory used [KB]: 7164
% 5.30/1.10  % (15994)Time elapsed: 0.108 s
% 5.30/1.10  % (15994)Instructions burned: 258 (million)
% 5.30/1.10  % (15994)------------------------------
% 5.30/1.10  % (15994)------------------------------
% 5.30/1.11  % (16003)dis+10_1:8_cha=on:cnfonf=lazy_pi_sigma_gen:fe=axiom:hud=5:plsq=on:plsqr=32,1:prag=on:sos=all:i=154:si=on:rtra=on_0 on Vampire---4 for (2992ds/154Mi)
% 5.30/1.14  % (15996)Instruction limit reached!
% 5.30/1.14  % (15996)------------------------------
% 5.30/1.14  % (15996)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 5.30/1.14  % (15996)Termination reason: Unknown
% 5.30/1.14  % (15996)Termination phase: Saturation
% 5.30/1.14  
% 5.30/1.14  % (15996)Memory used [KB]: 8315
% 5.30/1.14  % (15996)Time elapsed: 0.121 s
% 5.30/1.14  % (15996)Instructions burned: 231 (million)
% 5.30/1.14  % (15996)------------------------------
% 5.30/1.14  % (15996)------------------------------
% 5.30/1.14  % (16001)Instruction limit reached!
% 5.30/1.14  % (16001)------------------------------
% 5.30/1.14  % (16001)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 5.30/1.14  % (16001)Termination reason: Unknown
% 5.30/1.14  % (16001)Termination phase: Saturation
% 5.30/1.14  
% 5.30/1.14  % (16001)Memory used [KB]: 6652
% 5.30/1.14  % (16001)Time elapsed: 0.074 s
% 5.30/1.14  % (16001)Instructions burned: 184 (million)
% 5.30/1.14  % (16001)------------------------------
% 5.30/1.14  % (16001)------------------------------
% 5.30/1.16  % (16004)dis+1003_1:64_atotf=0.4:au=on:fsr=off:hflw=5:hfsq=on:hfsqc=20:hfsql=off:plsq=on:plsqc=1:plsqr=32,1:i=79:si=on:rtra=on_0 on Vampire---4 for (2992ds/79Mi)
% 5.30/1.16  % (16005)dis+1010_5:2_anc=all_dependent:awrs=converge:bd=off:bet=on:c=on:cha=on:cnfonf=lazy_not_gen_be_off:fe=axiom:hud=5:kws=precedence:piset=and:prag=on:s2a=on:sac=on:slsq=on:slsqc=1:sp=reverse_arity:ss=axioms:st=1.5:i=216:si=on:rtra=on_0 on Vampire---4 for (2992ds/216Mi)
% 5.30/1.16  % (15987)Instruction limit reached!
% 5.30/1.16  % (15987)------------------------------
% 5.30/1.16  % (15987)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 5.30/1.16  % (15987)Termination reason: Unknown
% 5.30/1.16  % (15987)Termination phase: Saturation
% 5.30/1.16  
% 5.30/1.16  % (15987)Memory used [KB]: 7803
% 5.30/1.16  % (15987)Time elapsed: 0.273 s
% 5.30/1.16  % (15987)Instructions burned: 614 (million)
% 5.30/1.16  % (15987)------------------------------
% 5.30/1.16  % (15987)------------------------------
% 5.86/1.17  % (15999)Instruction limit reached!
% 5.86/1.17  % (15999)------------------------------
% 5.86/1.17  % (15999)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 5.86/1.17  % (15999)Termination reason: Unknown
% 5.86/1.17  % (15999)Termination phase: Saturation
% 5.86/1.17  
% 5.86/1.17  % (15999)Memory used [KB]: 6652
% 5.86/1.17  % (15999)Time elapsed: 0.126 s
% 5.86/1.17  % (15999)Instructions burned: 297 (million)
% 5.86/1.17  % (15999)------------------------------
% 5.86/1.17  % (15999)------------------------------
% 5.86/1.17  % (16002)Instruction limit reached!
% 5.86/1.17  % (16002)------------------------------
% 5.86/1.17  % (16002)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 5.86/1.17  % (16002)Termination reason: Unknown
% 5.86/1.17  % (16002)Termination phase: Saturation
% 5.86/1.17  
% 5.86/1.17  % (16002)Memory used [KB]: 9466
% 5.86/1.17  % (16003)Instruction limit reached!
% 5.86/1.17  % (16003)------------------------------
% 5.86/1.17  % (16003)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 5.86/1.17  % (16002)Time elapsed: 0.093 s
% 5.86/1.17  % (16002)Instructions burned: 183 (million)
% 5.86/1.17  % (16002)------------------------------
% 5.86/1.17  % (16002)------------------------------
% 5.86/1.17  % (16003)Termination reason: Unknown
% 5.86/1.17  % (16003)Termination phase: Saturation
% 5.86/1.17  
% 5.86/1.17  % (16003)Memory used [KB]: 6524
% 5.86/1.17  % (16003)Time elapsed: 0.060 s
% 5.86/1.17  % (16003)Instructions burned: 156 (million)
% 5.86/1.17  % (16003)------------------------------
% 5.86/1.17  % (16003)------------------------------
% 5.86/1.18  % (16006)lrs+1002_1:1_fe=off:hud=10:ins=2:sac=on:sp=const_frequency:i=114:si=on:rtra=on_0 on Vampire---4 for (2992ds/114Mi)
% 5.86/1.18  % (16007)dis+1002_1:1_acc=on:au=on:bd=off:e2e=on:sgt=8:ss=axioms:i=922:si=on:rtra=on_0 on Vampire---4 for (2992ds/922Mi)
% 5.86/1.19  % (16009)ott+1010_1:1024_au=on:av=off:c=on:cnfonf=conj_eager:piset=equals:s2a=on:sp=occurrence:spb=units:ss=axioms:i=164:si=on:rtra=on_0 on Vampire---4 for (2992ds/164Mi)
% 5.86/1.19  % (16008)lrs+10_1:128_au=on:bd=off:cnfonf=lazy_not_gen_be_off:nwc=10.0:piset=and:i=182:si=on:rtra=on_0 on Vampire---4 for (2992ds/182Mi)
% 5.86/1.19  % (16004)Instruction limit reached!
% 5.86/1.19  % (16004)------------------------------
% 5.86/1.19  % (16004)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 5.86/1.19  % (16004)Termination reason: Unknown
% 5.86/1.19  % (16004)Termination phase: Function definition elimination
% 5.86/1.19  
% 5.86/1.19  % (16004)Memory used [KB]: 2046
% 5.86/1.19  % (16004)Time elapsed: 0.034 s
% 5.86/1.19  % (16004)Instructions burned: 80 (million)
% 5.86/1.19  % (16004)------------------------------
% 5.86/1.19  % (16004)------------------------------
% 5.86/1.19  % (15997)Instruction limit reached!
% 5.86/1.19  % (15997)------------------------------
% 5.86/1.19  % (15997)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 5.86/1.19  % (15997)Termination reason: Unknown
% 5.86/1.19  % (15997)Termination phase: Saturation
% 5.86/1.19  
% 5.86/1.19  % (15997)Memory used [KB]: 7931
% 5.86/1.19  % (15997)Time elapsed: 0.180 s
% 5.86/1.19  % (15997)Instructions burned: 460 (million)
% 5.86/1.19  % (15997)------------------------------
% 5.86/1.19  % (15997)------------------------------
% 6.19/1.20  % (16010)lrs+1004_1:1_cnfonf=lazy_pi_sigma_gen:fe=off:gs=on:hud=10:prag=on:tnu=1:i=50:si=on:rtra=on_0 on Vampire---4 for (2992ds/50Mi)
% 6.19/1.21  % (16011)dis-30_1:1_acc=on:bd=off:fsr=off:plsq=on:plsqr=32,1:i=368:si=on:rtra=on_0 on Vampire---4 for (2991ds/368Mi)
% 6.19/1.23  % (16010)Instruction limit reached!
% 6.19/1.23  % (16010)------------------------------
% 6.19/1.23  % (16010)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.19/1.23  % (16010)Termination reason: Unknown
% 6.19/1.23  % (16010)Termination phase: Property scanning
% 6.19/1.23  
% 6.19/1.23  % (16010)Memory used [KB]: 1791
% 6.19/1.23  % (16010)Time elapsed: 0.015 s
% 6.19/1.23  % (16010)Instructions burned: 50 (million)
% 6.19/1.23  % (16010)------------------------------
% 6.19/1.23  % (16010)------------------------------
% 6.19/1.23  % (16006)Instruction limit reached!
% 6.19/1.23  % (16006)------------------------------
% 6.19/1.23  % (16006)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.19/1.23  % (16006)Termination reason: Unknown
% 6.19/1.23  % (16006)Termination phase: Saturation
% 6.19/1.23  
% 6.19/1.23  % (16006)Memory used [KB]: 6908
% 6.19/1.23  % (16006)Time elapsed: 0.063 s
% 6.19/1.23  % (16006)Instructions burned: 115 (million)
% 6.19/1.23  % (16006)------------------------------
% 6.19/1.23  % (16006)------------------------------
% 6.29/1.24  % (16013)dis+10_1:1_cnfonf=lazy_gen:fe=off:plsq=on:plsqc=1:plsqr=32,1:prag=on:i=267:si=on:rtra=on_0 on Vampire---4 for (2991ds/267Mi)
% 6.29/1.24  % (16012)dis+2_1:1_bd=off:e2e=on:hud=1:nm=3:piset=or:prag=on:s2a=on:sp=const_max:i=1021:si=on:rtra=on_0 on Vampire---4 for (2991ds/1021Mi)
% 6.29/1.24  % (16005)Instruction limit reached!
% 6.29/1.24  % (16005)------------------------------
% 6.29/1.24  % (16005)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.29/1.24  % (16005)Termination reason: Unknown
% 6.29/1.24  % (16005)Termination phase: Saturation
% 6.29/1.24  
% 6.29/1.24  % (16005)Memory used [KB]: 6652
% 6.29/1.24  % (16005)Time elapsed: 0.086 s
% 6.29/1.24  % (16005)Instructions burned: 217 (million)
% 6.29/1.24  % (16005)------------------------------
% 6.29/1.24  % (16005)------------------------------
% 6.29/1.25  % (16009)Instruction limit reached!
% 6.29/1.25  % (16009)------------------------------
% 6.29/1.25  % (16009)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.29/1.25  % (16009)Termination reason: Unknown
% 6.29/1.25  % (16009)Termination phase: Saturation
% 6.29/1.25  
% 6.29/1.25  % (16009)Memory used [KB]: 2046
% 6.29/1.25  % (16009)Time elapsed: 0.067 s
% 6.29/1.25  % (16009)Instructions burned: 164 (million)
% 6.29/1.25  % (16009)------------------------------
% 6.29/1.25  % (16009)------------------------------
% 6.29/1.25  % (16008)Instruction limit reached!
% 6.29/1.25  % (16008)------------------------------
% 6.29/1.25  % (16008)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.29/1.25  % (16008)Termination reason: Unknown
% 6.29/1.25  % (16008)Termination phase: Saturation
% 6.29/1.25  
% 6.29/1.25  % (16008)Memory used [KB]: 6652
% 6.29/1.25  % (16008)Time elapsed: 0.093 s
% 6.29/1.25  % (16008)Instructions burned: 182 (million)
% 6.29/1.25  % (16008)------------------------------
% 6.29/1.25  % (16008)------------------------------
% 6.29/1.26  % (16014)dis+21_1:5_au=on:ntd=on:nwc=5.0:s2a=on:ss=axioms:st=5.0:i=204:si=on:rtra=on_0 on Vampire---4 for (2991ds/204Mi)
% 6.29/1.27  % (16015)dis+2_1:1024_atotf=0.0802881:au=on:bs=unit_only:cnfonf=lazy_not_gen_be_off:fde=none:nwc=10.0:prag=on:i=26:si=on:rtra=on_0 on Vampire---4 for (2991ds/26Mi)
% 6.29/1.27  % (16016)dis+1002_1:1_bd=preordered:c=on:cbe=off:cnfonf=lazy_not_gen_be_off:hud=10:ixr=off:prag=on:i=53:si=on:rtra=on_0 on Vampire---4 for (2991ds/53Mi)
% 6.29/1.28  % (16015)Instruction limit reached!
% 6.29/1.28  % (16015)------------------------------
% 6.29/1.28  % (16015)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.29/1.28  % (16015)Termination reason: Unknown
% 6.29/1.28  % (16015)Termination phase: Property scanning
% 6.29/1.28  
% 6.29/1.28  % (16015)Memory used [KB]: 1791
% 6.29/1.28  % (16015)Time elapsed: 0.014 s
% 6.29/1.28  % (16015)Instructions burned: 27 (million)
% 6.29/1.28  % (16015)------------------------------
% 6.29/1.28  % (16015)------------------------------
% 6.29/1.29  % (16016)Instruction limit reached!
% 6.29/1.29  % (16016)------------------------------
% 6.29/1.29  % (16016)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.29/1.29  % (16016)Termination reason: Unknown
% 6.29/1.29  % (16016)Termination phase: Property scanning
% 6.29/1.29  
% 6.29/1.29  % (16016)Memory used [KB]: 1791
% 6.29/1.29  % (16016)Time elapsed: 0.025 s
% 6.29/1.29  % (16016)Instructions burned: 53 (million)
% 6.29/1.29  % (16016)------------------------------
% 6.29/1.29  % (16016)------------------------------
% 6.29/1.30  % (16017)dis+1002_1:1_aac=none:au=on:e2e=on:nm=2:nwc=10.0:sd=1:ss=axioms:st=3.0:i=4436:si=on:rtra=on_0 on Vampire---4 for (2990ds/4436Mi)
% 6.29/1.31  % (16018)dis+1010_1:1_acc=model:avsq=on:ixr=off:prag=on:s2a=on:sac=on:i=1539:si=on:rtra=on_0 on Vampire---4 for (2990ds/1539Mi)
% 6.29/1.31  % (16017)Refutation not found, incomplete strategy
% 6.29/1.31  % (16017)------------------------------
% 6.29/1.31  % (16017)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.29/1.31  % (16017)Termination reason: Refutation not found, incomplete strategy
% 6.29/1.31  
% 6.29/1.31  
% 6.29/1.31  % (16017)Memory used [KB]: 6268
% 6.29/1.31  % (16017)Time elapsed: 0.011 s
% 6.29/1.31  % (16017)Instructions burned: 28 (million)
% 6.29/1.31  % (16017)------------------------------
% 6.29/1.31  % (16017)------------------------------
% 6.29/1.31  % (16013)Instruction limit reached!
% 6.29/1.31  % (16013)------------------------------
% 6.29/1.31  % (16013)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.29/1.31  % (16013)Termination reason: Unknown
% 6.29/1.31  % (16013)Termination phase: Saturation
% 6.29/1.31  
% 6.29/1.31  % (16013)Memory used [KB]: 7036
% 6.29/1.31  % (16013)Time elapsed: 0.073 s
% 6.29/1.31  % (16013)Instructions burned: 269 (million)
% 6.29/1.31  % (16013)------------------------------
% 6.29/1.31  % (16013)------------------------------
% 6.29/1.32  % (16019)lrs+2_1:1_bd=off:e2e=on:fde=none:kws=inv_precedence:plsq=on:plsqr=32,1:sos=on:i=408:si=on:rtra=on_0 on Vampire---4 for (2990ds/408Mi)
% 6.29/1.33  % (16020)lrs+1002_1:1_aac=none:au=on:cnfonf=lazy_gen:plsq=on:plsqc=1:plsqr=4203469,65536:i=5205:si=on:rtra=on_0 on Vampire---4 for (2990ds/5205Mi)
% 6.81/1.34  % (16014)Instruction limit reached!
% 6.81/1.34  % (16014)------------------------------
% 6.81/1.34  % (16014)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.81/1.34  % (16014)Termination reason: Unknown
% 6.81/1.34  % (16014)Termination phase: Saturation
% 6.81/1.34  
% 6.81/1.34  % (16014)Memory used [KB]: 6652
% 6.81/1.34  % (16014)Time elapsed: 0.085 s
% 6.81/1.34  % (16014)Instructions burned: 204 (million)
% 6.81/1.34  % (16014)------------------------------
% 6.81/1.34  % (16014)------------------------------
% 6.81/1.36  % (16011)Instruction limit reached!
% 6.81/1.36  % (16011)------------------------------
% 6.81/1.36  % (16011)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.81/1.36  % (16011)Termination reason: Unknown
% 6.81/1.36  % (16011)Termination phase: Saturation
% 6.81/1.36  
% 6.81/1.36  % (16011)Memory used [KB]: 7164
% 6.81/1.36  % (16011)Time elapsed: 0.152 s
% 6.81/1.36  % (16011)Instructions burned: 368 (million)
% 6.81/1.36  % (16011)------------------------------
% 6.81/1.36  % (16011)------------------------------
% 6.81/1.36  % (16021)dis+1010_1:4_au=on:av=off:cbe=off:nwc=10.0:s2a=on:s2at=3.0:sd=2:ss=axioms:st=5.0:i=1913:si=on:rtra=on_0 on Vampire---4 for (2990ds/1913Mi)
% 6.81/1.37  % (16022)lrs+2_1:1_bd=off:cbe=off:piset=equals:sd=1:sgt=20:sos=all:ss=axioms:i=4350:si=on:rtra=on_0 on Vampire---4 for (2990ds/4350Mi)
% 7.13/1.40  % (16022)Refutation not found, incomplete strategy
% 7.13/1.40  % (16022)------------------------------
% 7.13/1.40  % (16022)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.13/1.40  % (16022)Termination reason: Refutation not found, incomplete strategy
% 7.13/1.40  
% 7.13/1.40  
% 7.13/1.40  % (16022)Memory used [KB]: 6268
% 7.13/1.40  % (16022)Time elapsed: 0.027 s
% 7.13/1.40  % (16022)Instructions burned: 56 (million)
% 7.13/1.40  % (16022)------------------------------
% 7.13/1.40  % (16022)------------------------------
% 7.13/1.41  % (16023)ott+1010_1:4_cbe=off:chr=on:hfsq=on:hfsqr=1,16:hud=3:sac=on:sp=unary_frequency:ss=axioms:st=5.0:tnu=2:i=68:si=on:rtra=on_0 on Vampire---4 for (2989ds/68Mi)
% 7.13/1.44  % (16000)Instruction limit reached!
% 7.13/1.44  % (16000)------------------------------
% 7.13/1.44  % (16000)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.13/1.44  % (16000)Termination reason: Unknown
% 7.13/1.44  % (16000)Termination phase: Saturation
% 7.13/1.44  
% 7.13/1.44  % (16000)Memory used [KB]: 7164
% 7.13/1.44  % (16000)Time elapsed: 0.391 s
% 7.13/1.44  % (16000)Instructions burned: 987 (million)
% 7.13/1.44  % (16000)------------------------------
% 7.13/1.44  % (16000)------------------------------
% 7.13/1.44  % (16023)Instruction limit reached!
% 7.13/1.44  % (16023)------------------------------
% 7.13/1.44  % (16023)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.13/1.44  % (16023)Termination reason: Unknown
% 7.13/1.44  % (16023)Termination phase: Property scanning
% 7.13/1.44  
% 7.13/1.44  % (16023)Memory used [KB]: 1791
% 7.13/1.44  % (16023)Time elapsed: 0.031 s
% 7.13/1.44  % (16023)Instructions burned: 68 (million)
% 7.13/1.44  % (16023)------------------------------
% 7.13/1.44  % (16023)------------------------------
% 7.13/1.45  % (16019)Instruction limit reached!
% 7.13/1.45  % (16019)------------------------------
% 7.13/1.45  % (16019)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.13/1.45  % (16019)Termination reason: Unknown
% 7.13/1.45  % (16019)Termination phase: Saturation
% 7.13/1.45  
% 7.13/1.45  % (16019)Memory used [KB]: 9466
% 7.13/1.45  % (16019)Time elapsed: 0.132 s
% 7.13/1.45  % (16019)Instructions burned: 408 (million)
% 7.13/1.45  % (16019)------------------------------
% 7.13/1.45  % (16019)------------------------------
% 7.13/1.45  % (16024)dis+10_1:1_au=on:nwc=5.0:s2a=on:s2at=2.0:sac=on:sd=7:ss=axioms:st=2.0:i=358:si=on:rtra=on_0 on Vampire---4 for (2989ds/358Mi)
% 7.13/1.46  % (16025)lrs+1010_1:16_add=large:amm=off:anc=all_dependent:chr=on:fd=off:ins=2:sp=const_max:tnu=5:uhcvi=on:i=31:si=on:rtra=on_0 on Vampire---4 for (2989ds/31Mi)
% 7.40/1.47  % (16025)Instruction limit reached!
% 7.40/1.47  % (16025)------------------------------
% 7.40/1.47  % (16025)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.40/1.47  % (16025)Termination reason: Unknown
% 7.40/1.47  % (16025)Termination phase: Property scanning
% 7.40/1.47  
% 7.40/1.47  % (16025)Memory used [KB]: 1791
% 7.40/1.47  % (16025)Time elapsed: 0.011 s
% 7.40/1.47  % (16025)Instructions burned: 34 (million)
% 7.40/1.47  % (16025)------------------------------
% 7.40/1.47  % (16025)------------------------------
% 7.40/1.47  % (16026)lrs+10_1:1_cnfonf=lazy_simp:sgt=5:sos=on:ss=axioms:i=279:si=on:rtra=on_0 on Vampire---4 for (2989ds/279Mi)
% 7.40/1.47  % (16027)lrs+10_8:1_au=on:fde=none:slsq=on:i=258:si=on:rtra=on_0 on Vampire---4 for (2989ds/258Mi)
% 7.40/1.54  % (16027)Instruction limit reached!
% 7.40/1.54  % (16027)------------------------------
% 7.40/1.54  % (16027)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.40/1.54  % (16027)Termination reason: Unknown
% 7.40/1.54  % (16027)Termination phase: Saturation
% 7.40/1.54  
% 7.40/1.54  % (16027)Memory used [KB]: 7419
% 7.40/1.54  % (16027)Time elapsed: 0.069 s
% 7.40/1.54  % (16027)Instructions burned: 258 (million)
% 7.40/1.54  % (16027)------------------------------
% 7.40/1.54  % (16027)------------------------------
% 7.40/1.55  % (16028)dis+2_1:1024_atotf=0.0802881:au=on:bs=unit_only:cnfonf=lazy_not_gen_be_off:fde=none:nwc=10.0:prag=on:i=26:si=on:rtra=on_0 on Vampire---4 for (2988ds/26Mi)
% 7.40/1.56  % (16028)Instruction limit reached!
% 7.40/1.56  % (16028)------------------------------
% 7.40/1.56  % (16028)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.40/1.56  % (16028)Termination reason: Unknown
% 7.40/1.56  % (16028)Termination phase: shuffling
% 7.40/1.56  
% 7.40/1.56  % (16028)Memory used [KB]: 1791
% 7.40/1.56  % (16028)Time elapsed: 0.008 s
% 7.40/1.56  % (16028)Instructions burned: 26 (million)
% 7.40/1.56  % (16028)------------------------------
% 7.40/1.56  % (16028)------------------------------
% 7.51/1.57  % (16029)lrs+1010_1:1_au=on:cbe=off:cnfonf=lazy_not_be_gen:ntd=on:pe=on:i=995:si=on:rtra=on_0 on Vampire---4 for (2988ds/995Mi)
% 7.51/1.58  % (16026)Instruction limit reached!
% 7.51/1.58  % (16026)------------------------------
% 7.51/1.58  % (16026)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.51/1.58  % (16026)Termination reason: Unknown
% 7.51/1.58  % (16026)Termination phase: Saturation
% 7.51/1.58  
% 7.51/1.58  % (16026)Memory used [KB]: 6652
% 7.51/1.58  % (16026)Time elapsed: 0.114 s
% 7.51/1.58  % (16026)Instructions burned: 281 (million)
% 7.51/1.58  % (16026)------------------------------
% 7.51/1.58  % (16026)------------------------------
% 7.65/1.61  % (16024)Instruction limit reached!
% 7.65/1.61  % (16024)------------------------------
% 7.65/1.61  % (16024)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.65/1.61  % (16024)Termination reason: Unknown
% 7.65/1.61  % (16024)Termination phase: Saturation
% 7.65/1.61  
% 7.65/1.61  % (16024)Memory used [KB]: 7164
% 7.65/1.61  % (16024)Time elapsed: 0.159 s
% 7.65/1.61  % (16024)Instructions burned: 359 (million)
% 7.65/1.61  % (16024)------------------------------
% 7.65/1.61  % (16024)------------------------------
% 7.65/1.61  % (16030)dis+10_1:8_amm=sco:cbe=off:hflw=5:hfsq=on:hfsqc=14:hfsql=off:hfsqr=4,1:hud=5:ile=on:lma=on:nm=2:ntd=on:prag=on:sac=on:sp=frequency:i=373:si=on:rtra=on_0 on Vampire---4 for (2987ds/373Mi)
% 7.65/1.63  % (16031)lrs+1010_1:128_au=on:cnfonf=lazy_pi_sigma_gen:hflw=4:hfsq=on:hfsqc=20:hfsql=off:i=253:si=on:rtra=on_0 on Vampire---4 for (2987ds/253Mi)
% 7.82/1.64  % (16007)Instruction limit reached!
% 7.82/1.64  % (16007)------------------------------
% 7.82/1.64  % (16007)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.82/1.64  % (16007)Termination reason: Unknown
% 7.82/1.64  % (16007)Termination phase: Saturation
% 7.82/1.64  
% 7.82/1.64  % (16007)Memory used [KB]: 11897
% 7.82/1.64  % (16007)Time elapsed: 0.488 s
% 7.82/1.64  % (16007)Instructions burned: 923 (million)
% 7.82/1.64  % (16007)------------------------------
% 7.82/1.64  % (16007)------------------------------
% 7.82/1.66  % (16032)lrs+1002_1:14_au=on:bd=off:e2e=on:fde=unused:sac=on:sos=on:i=832:si=on:rtra=on_0 on Vampire---4 for (2987ds/832Mi)
% 7.82/1.72  % (16012)Instruction limit reached!
% 7.82/1.72  % (16012)------------------------------
% 7.82/1.72  % (16012)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.82/1.72  % (16012)Termination reason: Unknown
% 7.82/1.72  % (16012)Termination phase: Saturation
% 7.82/1.72  
% 7.82/1.72  % (16012)Memory used [KB]: 11385
% 7.82/1.72  % (16012)Time elapsed: 0.484 s
% 7.82/1.72  % (16012)Instructions burned: 1021 (million)
% 7.82/1.72  % (16012)------------------------------
% 7.82/1.72  % (16012)------------------------------
% 8.79/1.74  % (16033)lrs+1010_1:1_chr=on:cnfonf=lazy_not_be_gen:gs=on:hud=5:plsq=on:plsqc=1:plsqr=5,1:prag=on:rawr=on:i=668:si=on:rtra=on_0 on Vampire---4 for (2986ds/668Mi)
% 8.79/1.75  % (16031)Instruction limit reached!
% 8.79/1.75  % (16031)------------------------------
% 8.79/1.75  % (16031)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 8.79/1.75  % (16031)Termination reason: Unknown
% 8.79/1.75  % (16031)Termination phase: Saturation
% 8.79/1.75  
% 8.79/1.75  % (16031)Memory used [KB]: 6652
% 8.79/1.75  % (16031)Time elapsed: 0.142 s
% 8.79/1.75  % (16031)Instructions burned: 254 (million)
% 8.79/1.75  % (16031)------------------------------
% 8.79/1.75  % (16031)------------------------------
% 8.79/1.76  % (16035)dis+10_1:1_anc=none:cnfonf=lazy_gen:fd=preordered:fe=off:hud=10:ins=3:ixr=off:nwc=5.0:plsq=on:plsqc=1:plsqr=32,1:sp=const_frequency:uhcvi=on:i=40:si=on:rtra=on_0 on Vampire---4 for (2986ds/40Mi)
% 8.79/1.76  % (16032)Refutation not found, incomplete strategy
% 8.79/1.76  % (16032)------------------------------
% 8.79/1.76  % (16032)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 8.79/1.76  % (16032)Termination reason: Refutation not found, incomplete strategy
% 8.79/1.76  
% 8.79/1.76  
% 8.79/1.76  % (16032)Memory used [KB]: 8315
% 8.79/1.76  % (16032)Time elapsed: 0.104 s
% 8.79/1.76  % (16032)Instructions burned: 216 (million)
% 8.79/1.76  % (16032)------------------------------
% 8.79/1.76  % (16032)------------------------------
% 8.79/1.77  % (16035)Instruction limit reached!
% 8.79/1.77  % (16035)------------------------------
% 8.79/1.77  % (16035)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 8.79/1.77  % (16035)Termination reason: Unknown
% 8.79/1.77  % (16035)Termination phase: Property scanning
% 8.79/1.77  
% 8.79/1.77  % (16035)Memory used [KB]: 1791
% 8.79/1.77  % (16035)Time elapsed: 0.012 s
% 8.79/1.77  % (16035)Instructions burned: 41 (million)
% 8.79/1.77  % (16035)------------------------------
% 8.79/1.77  % (16035)------------------------------
% 8.79/1.78  % (16036)lrs+1010_1:1_cnfonf=lazy_pi_sigma_gen:fd=off:ntd=on:sd=1:sgt=32:sos=on:ss=axioms:i=294:si=on:rtra=on_0 on Vampire---4 for (2986ds/294Mi)
% 8.79/1.78  % (16030)Instruction limit reached!
% 8.79/1.78  % (16030)------------------------------
% 8.79/1.78  % (16030)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 8.79/1.78  % (16030)Termination reason: Unknown
% 8.79/1.78  % (16030)Termination phase: Saturation
% 8.79/1.78  
% 8.79/1.78  % (16030)Memory used [KB]: 7547
% 8.79/1.78  % (16030)Time elapsed: 0.189 s
% 8.79/1.78  % (16030)Instructions burned: 373 (million)
% 8.79/1.78  % (16030)------------------------------
% 8.79/1.78  % (16030)------------------------------
% 8.79/1.79  % (16037)dis+1010_1:1_avsq=on:fe=off:fsr=off:hud=10:plsq=on:plsqr=32,1:prag=on:i=187:si=on:rtra=on_0 on Vampire---4 for (2986ds/187Mi)
% 8.79/1.79  % (16038)lrs+1010_2:3_au=on:fsr=off:sd=4:ss=axioms:st=1.5:i=371:si=on:rtra=on_0 on Vampire---4 for (2986ds/371Mi)
% 10.93/1.86  % (16037)Instruction limit reached!
% 10.93/1.86  % (16037)------------------------------
% 10.93/1.86  % (16037)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 10.93/1.86  % (16037)Termination reason: Unknown
% 10.93/1.86  % (16037)Termination phase: Saturation
% 10.93/1.86  
% 10.93/1.86  % (16037)Memory used [KB]: 6652
% 10.93/1.86  % (16037)Time elapsed: 0.075 s
% 10.93/1.86  % (16037)Instructions burned: 187 (million)
% 10.93/1.86  % (16037)------------------------------
% 10.93/1.86  % (16037)------------------------------
% 11.47/1.88  % (16036)Instruction limit reached!
% 11.47/1.88  % (16036)------------------------------
% 11.47/1.88  % (16036)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 11.47/1.88  % (16036)Termination reason: Unknown
% 11.47/1.88  % (16036)Termination phase: Saturation
% 11.47/1.88  
% 11.47/1.88  % (16036)Memory used [KB]: 7291
% 11.47/1.88  % (16036)Time elapsed: 0.110 s
% 11.47/1.88  % (16036)Instructions burned: 297 (million)
% 11.47/1.88  % (16036)------------------------------
% 11.47/1.88  % (16036)------------------------------
% 11.47/1.88  % (16039)dis+1003_1:1_au=on:bd=preordered:fde=none:ixr=off:nwc=10.0:i=1827:si=on:rtra=on_0 on Vampire---4 for (2985ds/1827Mi)
% 11.47/1.88  % (16040)lrs+10_1:1_av=off:bd=off:cnfonf=lazy_gen:fe=off:hud=10:plsq=on:plsqc=1:plsqr=32,1:tnu=1:i=70:si=on:rtra=on_0 on Vampire---4 for (2985ds/70Mi)
% 11.47/1.90  % (16040)Instruction limit reached!
% 11.47/1.90  % (16040)------------------------------
% 11.47/1.90  % (16040)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 11.47/1.90  % (16040)Termination reason: Unknown
% 11.47/1.90  % (16040)Termination phase: Function definition elimination
% 11.47/1.90  
% 11.47/1.90  % (16040)Memory used [KB]: 1918
% 11.47/1.90  % (16040)Time elapsed: 0.020 s
% 11.47/1.90  % (16040)Instructions burned: 73 (million)
% 11.47/1.90  % (16040)------------------------------
% 11.47/1.90  % (16040)------------------------------
% 11.47/1.91  % (16041)lrs+10_1:20_bd=off:cnfonf=lazy_not_be_gen:fe=axiom:hud=10:ins=1:nm=20:prag=on:sos=on:i=316:si=on:rtra=on_0 on Vampire---4 for (2984ds/316Mi)
% 11.47/1.95  % (16029)Instruction limit reached!
% 11.47/1.95  % (16029)------------------------------
% 11.47/1.95  % (16029)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 11.47/1.95  % (16029)Termination reason: Unknown
% 11.47/1.95  % (16029)Termination phase: Saturation
% 11.47/1.95  
% 11.47/1.95  % (16029)Memory used [KB]: 7547
% 11.47/1.95  % (16029)Time elapsed: 0.404 s
% 11.47/1.95  % (16029)Instructions burned: 995 (million)
% 11.47/1.95  % (16029)------------------------------
% 11.47/1.95  % (16029)------------------------------
% 11.47/1.96  % (16038)Instruction limit reached!
% 11.47/1.96  % (16038)------------------------------
% 11.47/1.96  % (16038)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 11.47/1.96  % (16038)Termination reason: Unknown
% 11.47/1.96  % (16038)Termination phase: Saturation
% 11.47/1.96  
% 11.47/1.96  % (16038)Memory used [KB]: 7675
% 11.47/1.96  % (16038)Time elapsed: 0.170 s
% 11.47/1.96  % (16038)Instructions burned: 372 (million)
% 11.47/1.96  % (16038)------------------------------
% 11.47/1.96  % (16038)------------------------------
% 11.47/1.97  % (16042)ott+1010_1:1_cnfonf=lazy_gen:fe=off:plsq=on:plsqc=1:plsqr=3548551,65536:s2a=on:i=932:si=on:rtra=on_0 on Vampire---4 for (2984ds/932Mi)
% 11.47/1.97  % (16043)lrs+1010_1:128_au=on:bd=preordered:cnfonf=lazy_pi_sigma_gen:plsq=on:plsqc=1:plsqr=32,1:sos=all:sp=occurrence:i=4714:si=on:rtra=on_0 on Vampire---4 for (2984ds/4714Mi)
% 12.08/1.99  % (16041)Instruction limit reached!
% 12.08/1.99  % (16041)------------------------------
% 12.08/1.99  % (16041)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 12.08/1.99  % (16041)Termination reason: Unknown
% 12.08/1.99  % (16041)Termination phase: Saturation
% 12.08/1.99  
% 12.08/1.99  % (16041)Memory used [KB]: 6908
% 12.08/1.99  % (16041)Time elapsed: 0.080 s
% 12.08/1.99  % (16041)Instructions burned: 318 (million)
% 12.08/1.99  % (16041)------------------------------
% 12.08/1.99  % (16041)------------------------------
% 12.26/2.00  % (16044)dis+10_1:1_au=on:e2e=on:fde=none:nwc=10.0:s2a=on:s2at=2.0:i=8250:si=on:rtra=on_0 on Vampire---4 for (2983ds/8250Mi)
% 12.26/2.02  % (16033)Instruction limit reached!
% 12.26/2.02  % (16033)------------------------------
% 12.26/2.02  % (16033)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 12.26/2.02  % (16033)Termination reason: Unknown
% 12.26/2.02  % (16033)Termination phase: Saturation
% 12.26/2.02  
% 12.26/2.02  % (16033)Memory used [KB]: 12409
% 12.26/2.02  % (16033)Time elapsed: 0.282 s
% 12.26/2.02  % (16033)Instructions burned: 669 (million)
% 12.26/2.02  % (16033)------------------------------
% 12.26/2.02  % (16033)------------------------------
% 12.35/2.02  % (16018)Instruction limit reached!
% 12.35/2.02  % (16018)------------------------------
% 12.35/2.02  % (16018)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 12.35/2.02  % (16018)Termination reason: Unknown
% 12.35/2.02  % (16018)Termination phase: Saturation
% 12.35/2.02  
% 12.35/2.02  % (16018)Memory used [KB]: 9210
% 12.35/2.02  % (16018)Time elapsed: 0.718 s
% 12.35/2.02  % (16018)Instructions burned: 1540 (million)
% 12.35/2.02  % (16018)------------------------------
% 12.35/2.02  % (16018)------------------------------
% 12.35/2.03  % (16045)lrs+1002_1:1_apa=on:cnfonf=off:fd=off:flr=on:hud=1:lcm=reverse:prag=on:sd=1:sos=on:ss=axioms:i=770:si=on:rtra=on_0 on Vampire---4 for (2983ds/770Mi)
% 12.35/2.05  % (16046)ott+1010_5:1_av=off:fe=off:ins=1:kws=precedence:sp=reverse_arity:i=794:si=on:rtra=on_0 on Vampire---4 for (2983ds/794Mi)
% 12.57/2.12  % (16046)Refutation not found, incomplete strategy
% 12.57/2.12  % (16046)------------------------------
% 12.57/2.12  % (16046)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 12.57/2.12  % (16046)Termination reason: Refutation not found, incomplete strategy
% 12.57/2.12  
% 12.57/2.12  
% 12.57/2.12  % (16046)Memory used [KB]: 2430
% 12.57/2.12  % (16046)Time elapsed: 0.078 s
% 12.57/2.12  % (16046)Instructions burned: 126 (million)
% 12.57/2.12  % (16046)------------------------------
% 12.57/2.12  % (16046)------------------------------
% 12.57/2.13  % (16047)dis+1002_1:1_au=on:avsq=on:avsqr=1,16:cond=on:sp=frequency:i=464:si=on:rtra=on_0 on Vampire---4 for (2982ds/464Mi)
% 12.77/2.25  % (16045)Refutation not found, incomplete strategy
% 12.77/2.25  % (16045)------------------------------
% 12.77/2.25  % (16045)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 12.77/2.25  % (16045)Termination reason: Refutation not found, incomplete strategy
% 12.77/2.25  
% 12.77/2.25  
% 12.77/2.25  % (16045)Memory used [KB]: 7931
% 12.77/2.25  % (16045)Time elapsed: 0.216 s
% 12.77/2.25  % (16045)Instructions burned: 456 (million)
% 12.77/2.25  % (16045)------------------------------
% 12.77/2.25  % (16045)------------------------------
% 13.17/2.27  % (16048)ott+21_1:3_avsq=on:bd=off:cnfonf=lazy_gen:fe=off:hud=10:ixr=off:plsq=on:plsqc=1:plsqr=32,1:prag=on:tnu=1:i=1376:si=on:rtra=on_0 on Vampire---4 for (2981ds/1376Mi)
% 13.17/2.28  % (16021)Instruction limit reached!
% 13.17/2.28  % (16021)------------------------------
% 13.17/2.28  % (16021)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 13.17/2.28  % (16021)Termination reason: Unknown
% 13.17/2.28  % (16021)Termination phase: Saturation
% 13.17/2.28  
% 13.17/2.28  % (16021)Memory used [KB]: 4861
% 13.17/2.28  % (16021)Time elapsed: 0.918 s
% 13.17/2.28  % (16021)Instructions burned: 1913 (million)
% 13.17/2.28  % (16021)------------------------------
% 13.17/2.28  % (16021)------------------------------
% 13.17/2.29  % (16049)dis+10_1:1_etr=on:plsq=on:plsqc=1:plsqr=32,1:i=906:si=on:rtra=on_0 on Vampire---4 for (2980ds/906Mi)
% 13.22/2.34  % (16047)Instruction limit reached!
% 13.22/2.34  % (16047)------------------------------
% 13.22/2.34  % (16047)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 13.22/2.34  % (16047)Termination reason: Unknown
% 13.22/2.34  % (16047)Termination phase: Saturation
% 13.22/2.34  
% 13.22/2.34  % (16047)Memory used [KB]: 7547
% 13.22/2.34  % (16047)Time elapsed: 0.205 s
% 13.22/2.34  % (16047)Instructions burned: 465 (million)
% 13.22/2.34  % (16047)------------------------------
% 13.22/2.34  % (16047)------------------------------
% 13.22/2.35  % (16050)lrs+1002_1:16_bd=off:e2e=on:fde=unused:kws=precedence:sac=on:sos=on:ss=axioms:i=434:si=on:rtra=on_0 on Vampire---4 for (2980ds/434Mi)
% 13.22/2.39  % (16042)Instruction limit reached!
% 13.22/2.39  % (16042)------------------------------
% 13.22/2.39  % (16042)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 13.22/2.39  % (16042)Termination reason: Unknown
% 13.22/2.39  % (16042)Termination phase: Saturation
% 13.22/2.39  
% 13.22/2.39  % (16042)Memory used [KB]: 8571
% 13.22/2.39  % (16042)Time elapsed: 0.445 s
% 13.22/2.39  % (16042)Instructions burned: 932 (million)
% 13.22/2.39  % (16042)------------------------------
% 13.22/2.39  % (16042)------------------------------
% 13.22/2.41  % (16051)lrs+10_5:4_cnfonf=conj_eager:fe=axiom:hflw=5:hfsq=on:hfsqc=10:hfsql=off:hud=10:plsq=on:sgt=5:spb=goal_then_units:ss=axioms:i=865:si=on:rtra=on_0 on Vampire---4 for (2979ds/865Mi)
% 16.42/2.55  % (16050)Instruction limit reached!
% 16.42/2.55  % (16050)------------------------------
% 16.42/2.55  % (16050)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 16.42/2.55  % (16050)Termination reason: Unknown
% 16.42/2.55  % (16050)Termination phase: Saturation
% 16.42/2.55  
% 16.42/2.55  % (16050)Memory used [KB]: 7931
% 16.42/2.55  % (16050)Time elapsed: 0.199 s
% 16.42/2.55  % (16050)Instructions burned: 435 (million)
% 16.42/2.55  % (16050)------------------------------
% 16.42/2.55  % (16050)------------------------------
% 16.42/2.57  % (16052)dis+1002_1:1_cnfonf=lazy_simp:hud=5:plsq=on:plsqc=1:plsqr=32,1:prag=on:i=593:si=on:rtra=on_0 on Vampire---4 for (2978ds/593Mi)
% 17.83/2.71  % (16049)Instruction limit reached!
% 17.83/2.71  % (16049)------------------------------
% 17.83/2.71  % (16049)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 17.83/2.71  % (16049)Termination reason: Unknown
% 17.83/2.71  % (16049)Termination phase: Saturation
% 17.83/2.71  
% 17.83/2.71  % (16049)Memory used [KB]: 9083
% 17.83/2.71  % (16049)Time elapsed: 0.426 s
% 17.83/2.71  % (16049)Instructions burned: 906 (million)
% 17.83/2.71  % (16049)------------------------------
% 17.83/2.71  % (16049)------------------------------
% 17.94/2.74  % (16053)dis+10_1:1_sd=2:sgt=20:slsq=on:ss=axioms:st=6.0:i=443:si=on:rtra=on_0 on Vampire---4 for (2976ds/443Mi)
% 17.94/2.76  % (16039)Instruction limit reached!
% 17.94/2.76  % (16039)------------------------------
% 17.94/2.76  % (16039)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 17.94/2.76  % (16039)Termination reason: Unknown
% 17.94/2.76  % (16039)Termination phase: Saturation
% 17.94/2.76  
% 17.94/2.76  % (16039)Memory used [KB]: 13560
% 17.94/2.76  % (16039)Time elapsed: 0.908 s
% 17.94/2.76  % (16039)Instructions burned: 1827 (million)
% 17.94/2.76  % (16039)------------------------------
% 17.94/2.76  % (16039)------------------------------
% 17.94/2.77  % (16054)dis+10_1:1_atotf=0.1:cbe=off:sd=3:ss=axioms:st=2.0:i=594:si=on:rtra=on_0 on Vampire---4 for (2976ds/594Mi)
% 17.94/2.80  % (16051)Instruction limit reached!
% 17.94/2.80  % (16051)------------------------------
% 17.94/2.80  % (16051)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 17.94/2.80  % (16051)Termination reason: Unknown
% 17.94/2.80  % (16051)Termination phase: Saturation
% 17.94/2.80  
% 17.94/2.80  % (16051)Memory used [KB]: 8571
% 17.94/2.80  % (16051)Time elapsed: 0.400 s
% 17.94/2.80  % (16051)Instructions burned: 865 (million)
% 17.94/2.80  % (16051)------------------------------
% 17.94/2.80  % (16051)------------------------------
% 18.41/2.82  % (16055)ott+10_1:1024_anc=none:bd=off:e2e=on:fde=none:fsr=off:hud=10:ixr=off:nm=4:nwc=5.0:spb=goal:i=327:si=on:rtra=on_0 on Vampire---4 for (2975ds/327Mi)
% 18.41/2.83  % (16052)Instruction limit reached!
% 18.41/2.83  % (16052)------------------------------
% 18.41/2.83  % (16052)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 18.41/2.83  % (16052)Termination reason: Unknown
% 18.41/2.83  % (16052)Termination phase: Saturation
% 18.41/2.83  
% 18.41/2.83  % (16052)Memory used [KB]: 7547
% 18.41/2.83  % (16052)Time elapsed: 0.262 s
% 18.41/2.83  % (16052)Instructions burned: 593 (million)
% 18.41/2.83  % (16052)------------------------------
% 18.41/2.83  % (16052)------------------------------
% 18.41/2.84  % (16056)lrs+1002_1:1_au=on:bd=off:e2e=on:sd=2:sos=on:ss=axioms:i=5411:si=on:rtra=on_0 on Vampire---4 for (2975ds/5411Mi)
% 18.41/2.87  % (16056)Refutation not found, incomplete strategy
% 18.41/2.87  % (16056)------------------------------
% 18.41/2.87  % (16056)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 18.41/2.87  % (16056)Termination reason: Refutation not found, incomplete strategy
% 18.41/2.87  
% 18.41/2.87  
% 18.41/2.87  % (16056)Memory used [KB]: 6396
% 18.41/2.87  % (16056)Time elapsed: 0.026 s
% 18.41/2.87  % (16056)Instructions burned: 52 (million)
% 18.41/2.87  % (16056)------------------------------
% 18.41/2.87  % (16056)------------------------------
% 18.41/2.88  % (16057)lrs+10_1:20_au=on:c=on:cbe=off:cnfonf=lazy_gen:ins=1:plsq=on:plsqc=1:plsqr=46,31:sac=on:i=1762:si=on:rtra=on_0 on Vampire---4 for (2975ds/1762Mi)
% 19.01/2.90  % (16048)Instruction limit reached!
% 19.01/2.90  % (16048)------------------------------
% 19.01/2.90  % (16048)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 19.01/2.90  % (16048)Termination reason: Unknown
% 19.01/2.90  % (16048)Termination phase: Saturation
% 19.01/2.90  
% 19.01/2.90  % (16048)Memory used [KB]: 9466
% 19.01/2.90  % (16048)Time elapsed: 0.625 s
% 19.01/2.90  % (16048)Instructions burned: 1377 (million)
% 19.01/2.90  % (16048)------------------------------
% 19.01/2.90  % (16048)------------------------------
% 19.01/2.92  % (16058)dis+1003_1:64_cha=on:cnfonf=lazy_gen:hud=9:nwc=8.0:prag=on:i=96:si=on:rtra=on_0 on Vampire---4 for (2974ds/96Mi)
% 19.01/2.95  % (16058)Instruction limit reached!
% 19.01/2.95  % (16058)------------------------------
% 19.01/2.95  % (16058)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 19.01/2.95  % (16058)Termination reason: Unknown
% 19.01/2.95  % (16058)Termination phase: Saturation
% 19.01/2.95  
% 19.01/2.95  % (16058)Memory used [KB]: 6524
% 19.01/2.95  % (16058)Time elapsed: 0.041 s
% 19.01/2.95  % (16058)Instructions burned: 98 (million)
% 19.01/2.95  % (16058)------------------------------
% 19.01/2.95  % (16058)------------------------------
% 19.01/2.96  % (16053)Instruction limit reached!
% 19.01/2.96  % (16053)------------------------------
% 19.01/2.96  % (16053)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 19.01/2.96  % (16053)Termination reason: Unknown
% 19.01/2.96  % (16053)Termination phase: Saturation
% 19.01/2.96  
% 19.01/2.96  % (16053)Memory used [KB]: 7291
% 19.01/2.96  % (16053)Time elapsed: 0.233 s
% 19.01/2.96  % (16053)Instructions burned: 444 (million)
% 19.01/2.96  % (16053)------------------------------
% 19.01/2.96  % (16053)------------------------------
% 19.01/2.97  % (16060)lrs+1002_1:1024_au=on:cond=fast:ntd=on:piset=and:plsq=on:plsqc=1:plsqr=183491,1048576:sac=on:tgt=ground:i=90:si=on:rtra=on_0 on Vampire---4 for (2974ds/90Mi)
% 19.01/2.97  % (16059)lrs+21_1:1_hud=5:kws=inv_frequency:nm=16:nwc=2.0:prag=on:sos=on:ss=axioms:i=503:si=on:rtra=on_0 on Vampire---4 for (2974ds/503Mi)
% 19.54/2.98  % (16055)Instruction limit reached!
% 19.54/2.98  % (16055)------------------------------
% 19.54/2.98  % (16055)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 19.54/2.98  % (16055)Termination reason: Unknown
% 19.54/2.98  % (16055)Termination phase: Saturation
% 19.54/2.98  
% 19.54/2.98  % (16055)Memory used [KB]: 9978
% 19.54/2.98  % (16055)Time elapsed: 0.163 s
% 19.54/2.98  % (16055)Instructions burned: 327 (million)
% 19.54/2.98  % (16055)------------------------------
% 19.54/2.98  % (16055)------------------------------
% 19.74/3.00  % (16061)lrs+10_1:64_hud=5:plsq=on:plsqr=2011171,524288:i=593:si=on:rtra=on_0 on Vampire---4 for (2974ds/593Mi)
% 19.74/3.01  % (16060)Instruction limit reached!
% 19.74/3.01  % (16060)------------------------------
% 19.74/3.01  % (16060)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 19.74/3.01  % (16060)Termination reason: Unknown
% 19.74/3.01  % (16060)Termination phase: Twee Goal Transformation
% 19.74/3.01  
% 19.74/3.01  % (16060)Memory used [KB]: 2174
% 19.74/3.01  % (16060)Time elapsed: 0.037 s
% 19.74/3.01  % (16060)Instructions burned: 90 (million)
% 19.74/3.01  % (16060)------------------------------
% 19.74/3.01  % (16060)------------------------------
% 20.32/3.02  % (16062)dis-1002_1:1_alpa=false:apa=on:au=on:bd=off:cnfonf=off:e2e=on:er=filter:fde=unused:plsq=on:plsqr=9699663,1048576:s2a=on:sos=on:sp=unary_first:i=1512:si=on:rtra=on_0 on Vampire---4 for (2973ds/1512Mi)
% 20.45/3.04  % (16054)Instruction limit reached!
% 20.45/3.04  % (16054)------------------------------
% 20.45/3.04  % (16054)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 20.45/3.04  % (16054)Termination reason: Unknown
% 20.45/3.04  % (16054)Termination phase: Saturation
% 20.45/3.04  
% 20.45/3.04  % (16054)Memory used [KB]: 7419
% 20.45/3.04  % (16054)Time elapsed: 0.272 s
% 20.45/3.04  % (16054)Instructions burned: 594 (million)
% 20.45/3.04  % (16054)------------------------------
% 20.45/3.04  % (16054)------------------------------
% 20.45/3.07  % (16063)lrs+1002_1:128_cbe=off:cnfonf=lazy_not_gen_be_off:ins=1:i=569:si=on:rtra=on_0 on Vampire---4 for (2973ds/569Mi)
% 21.10/3.13  % (16062)Refutation not found, incomplete strategy
% 21.10/3.13  % (16062)------------------------------
% 21.10/3.13  % (16062)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 21.10/3.13  % (16062)Termination reason: Refutation not found, incomplete strategy
% 21.10/3.13  
% 21.10/3.13  
% 21.10/3.13  % (16062)Memory used [KB]: 8443
% 21.10/3.13  % (16062)Time elapsed: 0.113 s
% 21.10/3.13  % (16062)Instructions burned: 234 (million)
% 21.10/3.13  % (16062)------------------------------
% 21.10/3.13  % (16062)------------------------------
% 21.10/3.15  % (16065)ott+1002_1:1_bd=off:cnfonf=off:e2e=on:fd=off:fe=axiom:hud=5:prag=on:sos=on:i=501:si=on:rtra=on_0 on Vampire---4 for (2972ds/501Mi)
% 21.10/3.18  % (16059)Refutation not found, non-redundant clauses discarded% (16059)------------------------------
% 21.10/3.18  % (16059)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 21.10/3.18  % (16059)Termination reason: Refutation not found, non-redundant clauses discarded
% 21.10/3.18  
% 21.10/3.18  % (16059)Memory used [KB]: 7547
% 21.10/3.18  % (16059)Time elapsed: 0.211 s
% 21.10/3.18  % (16059)Instructions burned: 469 (million)
% 21.10/3.18  % (16059)------------------------------
% 21.10/3.18  % (16059)------------------------------
% 21.49/3.20  % (16066)lrs+1010_1:3_cnfonf=conj_eager:fsr=off:prag=on:sd=4:sgt=10:ss=axioms:i=562:si=on:rtra=on_0 on Vampire---4 for (2972ds/562Mi)
% 21.49/3.22  % (16063)Instruction limit reached!
% 21.49/3.22  % (16063)------------------------------
% 21.49/3.22  % (16063)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 21.49/3.22  % (16063)Termination reason: Unknown
% 21.49/3.22  % (16063)Termination phase: Saturation
% 21.49/3.22  
% 21.49/3.22  % (16063)Memory used [KB]: 7547
% 21.49/3.22  % (16063)Time elapsed: 0.179 s
% 21.49/3.22  % (16063)Instructions burned: 570 (million)
% 21.49/3.22  % (16063)------------------------------
% 21.49/3.22  % (16063)------------------------------
% 21.49/3.23  % (16067)lrs+10_1:1_au=on:cnfonf=off:fde=unused:kws=precedence:tgt=full:i=406:si=on:rtra=on_0 on Vampire---4 for (2971ds/406Mi)
% 22.06/3.27  % (16067)Refutation not found, incomplete strategy
% 22.06/3.27  % (16067)------------------------------
% 22.06/3.27  % (16067)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 22.06/3.27  % (16067)Termination reason: Refutation not found, incomplete strategy
% 22.06/3.27  
% 22.06/3.27  
% 22.06/3.27  % (16067)Memory used [KB]: 6652
% 22.06/3.27  % (16067)Time elapsed: 0.047 s
% 22.06/3.27  % (16067)Instructions burned: 130 (million)
% 22.06/3.27  % (16067)------------------------------
% 22.06/3.27  % (16067)------------------------------
% 22.06/3.28  % (16061)Instruction limit reached!
% 22.06/3.28  % (16061)------------------------------
% 22.06/3.28  % (16061)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 22.06/3.28  % (16061)Termination reason: Unknown
% 22.06/3.28  % (16061)Termination phase: Saturation
% 22.06/3.28  
% 22.06/3.28  % (16061)Memory used [KB]: 8059
% 22.06/3.28  % (16061)Time elapsed: 0.298 s
% 22.06/3.28  % (16061)Instructions burned: 594 (million)
% 22.06/3.28  % (16061)------------------------------
% 22.06/3.28  % (16061)------------------------------
% 22.06/3.29  % (16068)dis+1004_1:128_au=on:cbe=off:e2e=on:sac=on:i=582:si=on:rtra=on_0 on Vampire---4 for (2971ds/582Mi)
% 22.06/3.29  % (16069)lrs+2_1:1_au=on:bd=off:bsr=unit_only:sd=2:sgt=32:sos=all:ss=axioms:i=456:si=on:rtra=on_0 on Vampire---4 for (2971ds/456Mi)
% 22.40/3.38  % (16065)Instruction limit reached!
% 22.40/3.38  % (16065)------------------------------
% 22.40/3.38  % (16065)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 22.40/3.38  % (16065)Termination reason: Unknown
% 22.40/3.38  % (16065)Termination phase: Saturation
% 22.40/3.38  
% 22.40/3.38  % (16065)Memory used [KB]: 9722
% 22.40/3.38  % (16065)Time elapsed: 0.249 s
% 22.40/3.38  % (16065)Instructions burned: 501 (million)
% 22.40/3.38  % (16065)------------------------------
% 22.40/3.38  % (16065)------------------------------
% 22.40/3.40  % (16066)Refutation not found, non-redundant clauses discarded% (16066)------------------------------
% 22.40/3.40  % (16066)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 22.40/3.40  % (16066)Termination reason: Refutation not found, non-redundant clauses discarded
% 22.40/3.40  
% 22.40/3.40  % (16066)Memory used [KB]: 7291
% 22.40/3.40  % (16066)Time elapsed: 0.198 s
% 22.40/3.40  % (16066)Instructions burned: 449 (million)
% 22.40/3.40  % (16066)------------------------------
% 22.40/3.40  % (16066)------------------------------
% 22.40/3.40  % (16070)lrs+1010_1:1_au=on:cbe=off:cnfonf=conj_eager:tgt=ground:i=393:si=on:rtra=on_0 on Vampire---4 for (2970ds/393Mi)
% 22.40/3.41  % (16071)lrs+1010_1:6_au=on:cnfonf=conj_eager:nwc=10.0:pe=on:prag=on:s2a=on:ss=axioms:st=1.5:i=1335:si=on:rtra=on_0 on Vampire---4 for (2969ds/1335Mi)
% 23.41/3.50  % (16069)Instruction limit reached!
% 23.41/3.50  % (16069)------------------------------
% 23.41/3.50  % (16069)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 23.41/3.50  % (16069)Termination reason: Unknown
% 23.41/3.50  % (16069)Termination phase: Saturation
% 23.41/3.50  
% 23.41/3.50  % (16069)Memory used [KB]: 7419
% 23.41/3.50  % (16069)Time elapsed: 0.209 s
% 23.41/3.50  % (16069)Instructions burned: 456 (million)
% 23.41/3.50  % (16069)------------------------------
% 23.41/3.50  % (16069)------------------------------
% 23.41/3.52  % (16072)dis+1010_16:1_acc=model:au=on:avsq=on:cond=fast:plsq=on:plsqc=2:plsqr=9267,262144:i=3373:si=on:rtra=on_0 on Vampire---4 for (2968ds/3373Mi)
% 23.41/3.54  % (16057)Instruction limit reached!
% 23.41/3.54  % (16057)------------------------------
% 23.41/3.54  % (16057)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 23.41/3.54  % (16057)Termination reason: Unknown
% 23.41/3.54  % (16057)Termination phase: Saturation
% 23.41/3.54  
% 23.41/3.54  % (16057)Memory used [KB]: 7291
% 23.41/3.54  % (16057)Time elapsed: 0.662 s
% 23.41/3.54  % (16057)Instructions burned: 1762 (million)
% 23.41/3.54  % (16057)------------------------------
% 23.41/3.54  % (16057)------------------------------
% 23.41/3.56  % (16073)dis+10_1:1024_aac=none:au=on:cnfonf=lazy_gen:plsq=on:plsqc=1:plsqr=32,1:spb=goal_then_units:i=474:si=on:rtra=on_0 on Vampire---4 for (2968ds/474Mi)
% 23.91/3.59  % (16068)Instruction limit reached!
% 23.91/3.59  % (16068)------------------------------
% 23.91/3.59  % (16068)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 23.91/3.59  % (16068)Termination reason: Unknown
% 23.91/3.59  % (16068)Termination phase: Saturation
% 23.91/3.59  
% 23.91/3.59  % (16068)Memory used [KB]: 8827
% 23.91/3.59  % (16068)Time elapsed: 0.315 s
% 23.91/3.59  % (16068)Instructions burned: 583 (million)
% 23.91/3.59  % (16068)------------------------------
% 23.91/3.59  % (16068)------------------------------
% 24.64/3.60  % (16074)lrs+1002_1:16_amm=sco:cnfonf=lazy_pi_sigma_gen:fe=off:nm=60:piset=all_but_not_eq:plsq=on:plsqc=1:plsqr=2,1:rawr=on:sp=occurrence:ss=included:st=-1.0:i=157:si=on:rtra=on_0 on Vampire---4 for (2968ds/157Mi)
% 24.64/3.62  % (16070)Instruction limit reached!
% 24.64/3.62  % (16070)------------------------------
% 24.64/3.62  % (16070)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 24.64/3.62  % (16070)Termination reason: Unknown
% 24.64/3.62  % (16070)Termination phase: Saturation
% 24.64/3.62  
% 24.64/3.62  % (16070)Memory used [KB]: 8187
% 24.64/3.62  % (16070)Time elapsed: 0.250 s
% 24.64/3.62  % (16070)Instructions burned: 394 (million)
% 24.64/3.62  % (16070)------------------------------
% 24.64/3.62  % (16070)------------------------------
% 24.94/3.64  % (16075)dis+1010_1:1_amm=off:cs=on:kws=precedence:nwc=10.0:piset=all:s2a=on:sac=on:sp=unary_frequency:spb=goal:ss=axioms:st=3.0:i=590:si=on:rtra=on_0 on Vampire---4 for (2967ds/590Mi)
% 25.10/3.66  % (16074)Instruction limit reached!
% 25.10/3.66  % (16074)------------------------------
% 25.10/3.66  % (16074)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 25.10/3.66  % (16074)Termination reason: Unknown
% 25.10/3.66  % (16074)Termination phase: Saturation
% 25.10/3.66  
% 25.10/3.66  % (16074)Memory used [KB]: 6524
% 25.10/3.66  % (16074)Time elapsed: 0.064 s
% 25.10/3.66  % (16074)Instructions burned: 158 (million)
% 25.10/3.66  % (16074)------------------------------
% 25.10/3.66  % (16074)------------------------------
% 25.10/3.69  % (16076)dis+10_1:1024_kws=precedence:prag=on:rawr=on:sos=all:sp=unary_first:i=104:si=on:rtra=on_0 on Vampire---4 for (2967ds/104Mi)
% 25.10/3.71  % (16076)Instruction limit reached!
% 25.10/3.71  % (16076)------------------------------
% 25.10/3.71  % (16076)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 25.10/3.71  % (16076)Termination reason: Unknown
% 25.10/3.71  % (16076)Termination phase: Saturation
% 25.10/3.71  
% 25.10/3.71  % (16076)Memory used [KB]: 6524
% 25.10/3.71  % (16076)Time elapsed: 0.027 s
% 25.10/3.71  % (16076)Instructions burned: 107 (million)
% 25.10/3.71  % (16076)------------------------------
% 25.10/3.71  % (16076)------------------------------
% 25.10/3.72  % (16077)lrs+1010_1:10_au=on:bd=off:cnfonf=lazy_pi_sigma_gen:sp=occurrence:i=414:si=on:rtra=on_0 on Vampire---4 for (2966ds/414Mi)
% 25.63/3.72  % (16020)Instruction limit reached!
% 25.63/3.72  % (16020)------------------------------
% 25.63/3.72  % (16020)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 25.63/3.72  % (16020)Termination reason: Unknown
% 25.63/3.72  % (16020)Termination phase: Saturation
% 25.63/3.72  
% 25.63/3.72  % (16020)Memory used [KB]: 20724
% 25.63/3.72  % (16020)Time elapsed: 2.396 s
% 25.63/3.72  % (16020)Instructions burned: 5205 (million)
% 25.63/3.72  % (16020)------------------------------
% 25.63/3.72  % (16020)------------------------------
% 25.63/3.75  % (16078)dis+10_1:1_av=off:bsd=on:bsr=unit_only:fd=off:hud=8:nm=16:prag=on:i=715:si=on:rtra=on_0 on Vampire---4 for (2966ds/715Mi)
% 25.63/3.76  % (16073)Instruction limit reached!
% 25.63/3.76  % (16073)------------------------------
% 25.63/3.76  % (16073)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 25.63/3.76  % (16073)Termination reason: Unknown
% 25.63/3.76  % (16073)Termination phase: Saturation
% 25.63/3.76  
% 25.63/3.76  % (16073)Memory used [KB]: 7291
% 25.63/3.76  % (16073)Time elapsed: 0.203 s
% 25.63/3.76  % (16073)Instructions burned: 474 (million)
% 25.63/3.76  % (16073)------------------------------
% 25.63/3.76  % (16073)------------------------------
% 25.86/3.77  % (16079)dis+21_1:5_au=on:ntd=on:nwc=5.0:s2a=on:ss=axioms:st=5.0:i=961:si=on:rtra=on_0 on Vampire---4 for (2966ds/961Mi)
% 25.86/3.83  % (16075)Instruction limit reached!
% 25.86/3.83  % (16075)------------------------------
% 25.86/3.83  % (16075)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 25.86/3.83  % (16075)Termination reason: Unknown
% 25.86/3.83  % (16075)Termination phase: Saturation
% 25.86/3.83  
% 25.86/3.83  % (16075)Memory used [KB]: 7036
% 25.86/3.83  % (16075)Time elapsed: 0.198 s
% 25.86/3.83  % (16075)Instructions burned: 591 (million)
% 25.86/3.83  % (16075)------------------------------
% 25.86/3.83  % (16075)------------------------------
% 26.36/3.85  % (16080)lrs-1002_1:128_abs=on:bd=preordered:cbe=off:e2e=on:fde=unused:fe=off:tgt=full:i=1213:si=on:rtra=on_0 on Vampire---4 for (2965ds/1213Mi)
% 26.71/3.93  % (16077)Instruction limit reached!
% 26.71/3.93  % (16077)------------------------------
% 26.71/3.93  % (16077)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 26.71/3.93  % (16077)Termination reason: Unknown
% 26.71/3.93  % (16077)Termination phase: Saturation
% 26.71/3.93  
% 26.71/3.93  % (16077)Memory used [KB]: 7164
% 26.71/3.93  % (16077)Time elapsed: 0.221 s
% 26.71/3.93  % (16077)Instructions burned: 414 (million)
% 26.71/3.93  % (16077)------------------------------
% 26.71/3.93  % (16077)------------------------------
% 26.71/3.95  % (16081)lrs+1002_1:12_bd=off:hud=1:ntd=on:piset=equals:prag=on:i=1979:si=on:rtra=on_0 on Vampire---4 for (2964ds/1979Mi)
% 26.92/4.02  % (16071)Instruction limit reached!
% 26.92/4.02  % (16071)------------------------------
% 26.92/4.02  % (16071)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 26.92/4.02  % (16071)Termination reason: Unknown
% 26.92/4.02  % (16071)Termination phase: Saturation
% 26.92/4.02  
% 26.92/4.02  % (16071)Memory used [KB]: 8827
% 26.92/4.02  % (16071)Time elapsed: 0.611 s
% 26.92/4.02  % (16071)Instructions burned: 1336 (million)
% 26.92/4.02  % (16071)------------------------------
% 26.92/4.02  % (16071)------------------------------
% 27.21/4.04  % (16082)dis+1002_1:1_amm=off:au=on:bsd=on:cbe=off:cnfonf=lazy_gen:sp=unary_frequency:i=481:si=on:rtra=on_0 on Vampire---4 for (2963ds/481Mi)
% 27.21/4.06  % (16078)Instruction limit reached!
% 27.21/4.06  % (16078)------------------------------
% 27.21/4.06  % (16078)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 27.21/4.06  % (16078)Termination reason: Unknown
% 27.21/4.06  % (16078)Termination phase: Saturation
% 27.21/4.06  
% 27.21/4.06  % (16078)Memory used [KB]: 4221
% 27.21/4.06  % (16078)Time elapsed: 0.332 s
% 27.21/4.06  % (16078)Instructions burned: 715 (million)
% 27.21/4.06  % (16078)------------------------------
% 27.21/4.06  % (16078)------------------------------
% 27.59/4.08  % (16083)dis+10_8:1_apa=on:cnfonf=off:e2e=on:plsq=on:plsqc=1:plsqr=32,1:ss=axioms:i=783:si=on:rtra=on_0 on Vampire---4 for (2963ds/783Mi)
% 27.59/4.11  % (16043)Instruction limit reached!
% 27.59/4.11  % (16043)------------------------------
% 27.59/4.11  % (16043)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 27.59/4.11  % (16043)Termination reason: Unknown
% 27.59/4.11  % (16043)Termination phase: Saturation
% 27.59/4.11  
% 27.59/4.11  % (16043)Memory used [KB]: 18038
% 27.59/4.11  % (16043)Time elapsed: 2.167 s
% 27.59/4.11  % (16043)Instructions burned: 4714 (million)
% 27.59/4.11  % (16043)------------------------------
% 27.59/4.11  % (16043)------------------------------
% 27.59/4.13  % (16084)lrs+1010_1:1_avsq=on:avsqr=1,16:kws=inv_arity:nwc=5.0:sd=1:ss=axioms:i=432:si=on:rtra=on_0 on Vampire---4 for (2962ds/432Mi)
% 27.59/4.16  % (16084)Refutation not found, incomplete strategy
% 27.59/4.16  % (16084)------------------------------
% 27.59/4.16  % (16084)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 27.59/4.16  % (16084)Termination reason: Refutation not found, incomplete strategy
% 27.59/4.16  
% 27.59/4.16  
% 27.59/4.16  % (16084)Memory used [KB]: 6268
% 27.59/4.16  % (16084)Time elapsed: 0.027 s
% 27.59/4.16  % (16084)Instructions burned: 56 (million)
% 27.59/4.16  % (16084)------------------------------
% 27.59/4.16  % (16084)------------------------------
% 28.94/4.17  % (16085)lrs+1010_1:1_atotf=0.5:au=on:cbe=off:cnfonf=lazy_not_be_gen:fe=off:nwc=5.0:spb=units:i=1670:si=on:rtra=on_0 on Vampire---4 for (2962ds/1670Mi)
% 29.16/4.21  % (16082)Instruction limit reached!
% 29.16/4.21  % (16082)------------------------------
% 29.16/4.21  % (16082)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 29.16/4.21  % (16082)Termination reason: Unknown
% 29.16/4.21  % (16082)Termination phase: Saturation
% 29.16/4.21  
% 29.16/4.21  % (16082)Memory used [KB]: 7036
% 29.16/4.21  % (16082)Time elapsed: 0.177 s
% 29.16/4.21  % (16082)Instructions burned: 482 (million)
% 29.16/4.21  % (16082)------------------------------
% 29.16/4.21  % (16082)------------------------------
% 29.16/4.22  % (16079)Instruction limit reached!
% 29.16/4.22  % (16079)------------------------------
% 29.16/4.22  % (16079)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 29.16/4.22  % (16079)Termination reason: Unknown
% 29.16/4.22  % (16079)Termination phase: Saturation
% 29.16/4.22  
% 29.16/4.22  % (16079)Memory used [KB]: 8187
% 29.16/4.22  % (16079)Time elapsed: 0.473 s
% 29.16/4.22  % (16079)Instructions burned: 961 (million)
% 29.16/4.22  % (16079)------------------------------
% 29.16/4.22  % (16079)------------------------------
% 29.16/4.23  % (16087)dis+10_1:1_au=on:cnfonf=lazy_gen:ixr=off:plsq=on:plsqc=1:plsqr=32,1:i=346:si=on:rtra=on_0 on Vampire---4 for (2961ds/346Mi)
% 29.16/4.24  % (16086)dis+2_1:1_au=on:hfaw=0:hfsq=on:sp=weighted_frequency:i=90:si=on:rtra=on_0 on Vampire---4 for (2961ds/90Mi)
% 29.59/4.27  % (16086)Instruction limit reached!
% 29.59/4.27  % (16086)------------------------------
% 29.59/4.27  % (16086)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 29.59/4.27  % (16086)Termination reason: Unknown
% 29.59/4.27  % (16086)Termination phase: Saturation
% 29.59/4.27  
% 29.59/4.27  % (16086)Memory used [KB]: 6524
% 29.59/4.27  % (16086)Time elapsed: 0.037 s
% 29.59/4.27  % (16086)Instructions burned: 91 (million)
% 29.59/4.27  % (16086)------------------------------
% 29.59/4.27  % (16086)------------------------------
% 29.59/4.30  % (16088)dis+1002_1:1_cnfonf=lazy_not_gen:hud=10:plsq=on:plsqc=1:plsqr=32,1:prag=on:i=401:si=on:rtra=on_0 on Vampire---4 for (2961ds/401Mi)
% 30.10/4.36  % (16087)Instruction limit reached!
% 30.10/4.36  % (16087)------------------------------
% 30.10/4.36  % (16087)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 30.10/4.36  % (16087)Termination reason: Unknown
% 30.10/4.36  % (16087)Termination phase: Saturation
% 30.10/4.36  
% 30.10/4.36  % (16087)Memory used [KB]: 6908
% 30.10/4.36  % (16087)Time elapsed: 0.132 s
% 30.10/4.36  % (16087)Instructions burned: 347 (million)
% 30.10/4.36  % (16087)------------------------------
% 30.10/4.36  % (16087)------------------------------
% 30.10/4.38  % (16089)lrs+1010_1:1_au=on:s2a=on:sd=1:sgt=50:ss=axioms:i=6454:si=on:rtra=on_0 on Vampire---4 for (2960ds/6454Mi)
% 30.10/4.40  % (16088)Instruction limit reached!
% 30.10/4.40  % (16088)------------------------------
% 30.10/4.40  % (16088)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 30.10/4.40  % (16088)Termination reason: Unknown
% 30.10/4.40  % (16088)Termination phase: Saturation
% 30.10/4.40  
% 30.10/4.40  % (16088)Memory used [KB]: 7291
% 30.10/4.40  % (16088)Time elapsed: 0.107 s
% 30.10/4.40  % (16088)Instructions burned: 401 (million)
% 30.10/4.40  % (16088)------------------------------
% 30.10/4.40  % (16088)------------------------------
% 30.10/4.41  % (16089)Refutation not found, incomplete strategy
% 30.10/4.41  % (16089)------------------------------
% 30.10/4.41  % (16089)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 30.10/4.41  % (16089)Termination reason: Refutation not found, incomplete strategy
% 30.10/4.41  
% 30.10/4.41  
% 30.10/4.41  % (16089)Memory used [KB]: 6268
% 30.10/4.41  % (16089)Time elapsed: 0.028 s
% 30.10/4.41  % (16089)Instructions burned: 62 (million)
% 30.10/4.41  % (16089)------------------------------
% 30.10/4.41  % (16089)------------------------------
% 30.10/4.41  % (16090)dis+1010_1:1_avsq=on:fe=off:fsr=off:hud=10:kws=arity:prag=on:i=283:si=on:rtra=on_0 on Vampire---4 for (2959ds/283Mi)
% 30.10/4.43  % (16080)Instruction limit reached!
% 30.10/4.43  % (16080)------------------------------
% 30.10/4.43  % (16080)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 30.10/4.43  % (16080)Termination reason: Unknown
% 30.10/4.43  % (16080)Termination phase: Saturation
% 30.10/4.43  
% 30.10/4.43  % (16080)Memory used [KB]: 12281
% 30.10/4.43  % (16080)Time elapsed: 0.603 s
% 30.10/4.43  % (16080)Instructions burned: 1214 (million)
% 30.10/4.43  % (16080)------------------------------
% 30.10/4.43  % (16080)------------------------------
% 30.10/4.43  % (16091)ott+10_1:1_aac=none:apa=on:au=on:cnfonf=off:ntd=on:nwc=12.0:sos=on:i=865:si=on:rtra=on_0 on Vampire---4 for (2959ds/865Mi)
% 30.87/4.44  % (16092)lrs+1002_3:4_au=on:av=off:cnfonf=off:fd=off:fsr=off:ins=2:sd=1:sos=on:ss=axioms:i=4528:si=on:rtra=on_0 on Vampire---4 for (2959ds/4528Mi)
% 30.87/4.45  % (16083)Instruction limit reached!
% 30.87/4.45  % (16083)------------------------------
% 30.87/4.45  % (16083)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 30.87/4.45  % (16083)Termination reason: Unknown
% 30.87/4.45  % (16083)Termination phase: Saturation
% 30.87/4.45  
% 30.87/4.45  % (16083)Memory used [KB]: 11129
% 30.87/4.45  % (16083)Time elapsed: 0.371 s
% 30.87/4.45  % (16083)Instructions burned: 784 (million)
% 30.87/4.45  % (16083)------------------------------
% 30.87/4.45  % (16083)------------------------------
% 30.87/4.47  % (16092)Refutation not found, incomplete strategy
% 30.87/4.47  % (16092)------------------------------
% 30.87/4.47  % (16092)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 30.87/4.47  % (16092)Termination reason: Refutation not found, incomplete strategy
% 30.87/4.47  
% 30.87/4.47  
% 30.87/4.47  % (16092)Memory used [KB]: 1918
% 30.87/4.47  % (16092)Time elapsed: 0.025 s
% 30.87/4.47  % (16092)Instructions burned: 53 (million)
% 30.87/4.47  % (16092)------------------------------
% 30.87/4.47  % (16092)------------------------------
% 30.87/4.47  % (16093)dis+1002_1:1_cbe=off:hud=5:nm=4:plsq=on:plsqr=7,1:prag=on:sp=const_max:tnu=1:i=1001:si=on:rtra=on_0 on Vampire---4 for (2959ds/1001Mi)
% 30.87/4.48  % (16094)lrs+1002_1:1_au=on:cbe=off:cnfonf=conj_eager:cond=on:hi=on:i=102:si=on:rtra=on_0 on Vampire---4 for (2959ds/102Mi)
% 31.06/4.52  % (16094)Instruction limit reached!
% 31.06/4.52  % (16094)------------------------------
% 31.06/4.52  % (16094)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 31.06/4.52  % (16094)Termination reason: Unknown
% 31.06/4.52  % (16094)Termination phase: Saturation
% 31.06/4.52  
% 31.06/4.52  % (16094)Memory used [KB]: 6524
% 31.06/4.52  % (16094)Time elapsed: 0.043 s
% 31.06/4.52  % (16094)Instructions burned: 104 (million)
% 31.06/4.52  % (16094)------------------------------
% 31.06/4.52  % (16094)------------------------------
% 31.06/4.52  % (16090)Instruction limit reached!
% 31.06/4.52  % (16090)------------------------------
% 31.06/4.52  % (16090)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 31.06/4.52  % (16090)Termination reason: Unknown
% 31.06/4.52  % (16090)Termination phase: Saturation
% 31.06/4.52  
% 31.06/4.52  % (16090)Memory used [KB]: 7164
% 31.06/4.52  % (16090)Time elapsed: 0.111 s
% 31.06/4.52  % (16090)Instructions burned: 283 (million)
% 31.06/4.52  % (16090)------------------------------
% 31.06/4.52  % (16090)------------------------------
% 31.06/4.54  % (16095)ott+1010_3:1_nm=20:s2a=on:s2at=3.0:sp=const_frequency:i=952:si=on:rtra=on_0 on Vampire---4 for (2958ds/952Mi)
% 31.06/4.54  % (16096)lrs+1010_1:1024_add=large:c=on:cbe=off:cnfonf=lazy_gen:fde=none:nm=30:piset=and:sac=on:uhcvi=on:i=578:si=on:rtra=on_0 on Vampire---4 for (2958ds/578Mi)
% 31.60/4.63  % (16085)Refutation not found, non-redundant clauses discarded% (16085)------------------------------
% 31.60/4.63  % (16085)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 31.60/4.63  % (16085)Termination reason: Refutation not found, non-redundant clauses discarded
% 31.60/4.63  
% 31.60/4.63  % (16085)Memory used [KB]: 7803
% 31.60/4.63  % (16085)Time elapsed: 0.457 s
% 31.60/4.63  % (16085)Instructions burned: 1142 (million)
% 31.60/4.63  % (16085)------------------------------
% 31.60/4.63  % (16085)------------------------------
% 31.60/4.65  % (16097)dis+1010_1:4_avsq=on:avsqr=16,1:bet=on:cbe=off:cnfonf=lazy_not_be_gen:hud=5:plsq=on:plsqc=1:plsqr=32,1:prag=on:i=643:si=on:rtra=on_0 on Vampire---4 for (2957ds/643Mi)
% 32.90/4.72  % (16096)Instruction limit reached!
% 32.90/4.72  % (16096)------------------------------
% 32.90/4.72  % (16096)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 32.90/4.72  % (16096)Termination reason: Unknown
% 32.90/4.72  % (16096)Termination phase: Saturation
% 32.90/4.72  
% 32.90/4.72  % (16096)Memory used [KB]: 7675
% 32.90/4.72  % (16096)Time elapsed: 0.188 s
% 32.90/4.72  % (16096)Instructions burned: 578 (million)
% 32.90/4.72  % (16096)------------------------------
% 32.90/4.72  % (16096)------------------------------
% 32.90/4.73  % (16098)lrs+1010_1:1_cnfonf=off:ntd=on:nwc=3.0:s2a=on:sp=const_frequency:i=865:si=on:rtra=on_0 on Vampire---4 for (2956ds/865Mi)
% 32.90/4.76  % (16091)Instruction limit reached!
% 32.90/4.76  % (16091)------------------------------
% 32.90/4.76  % (16091)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 32.90/4.76  % (16091)Termination reason: Unknown
% 32.90/4.76  % (16091)Termination phase: Saturation
% 32.90/4.76  
% 32.90/4.76  % (16091)Memory used [KB]: 7291
% 32.90/4.76  % (16091)Time elapsed: 0.297 s
% 32.90/4.76  % (16091)Instructions burned: 867 (million)
% 32.90/4.76  % (16091)------------------------------
% 32.90/4.76  % (16091)------------------------------
% 33.66/4.77  % (16098)Refutation not found, incomplete strategy
% 33.66/4.77  % (16098)------------------------------
% 33.66/4.77  % (16098)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 33.66/4.77  % (16098)Termination reason: Refutation not found, incomplete strategy
% 33.66/4.77  
% 33.66/4.77  
% 33.66/4.77  % (16098)Memory used [KB]: 6780
% 33.66/4.77  % (16098)Time elapsed: 0.037 s
% 33.66/4.77  % (16098)Instructions burned: 117 (million)
% 33.66/4.77  % (16098)------------------------------
% 33.66/4.77  % (16098)------------------------------
% 33.66/4.78  % (16100)ott+1010_1:32_apa=on:atotf=0.3:au=on:c=on:cnfonf=off:fe=off:fsr=off:nm=6:piset=or:sac=on:sos=on:i=644:si=on:rtra=on_0 on Vampire---4 for (2956ds/644Mi)
% 33.66/4.78  % (16099)lrs+10_1:1_au=on:erd=off:s2a=on:s2at=3.0:sos=all:i=1174:si=on:rtra=on_0 on Vampire---4 for (2956ds/1174Mi)
% 34.15/4.90  % (16097)Instruction limit reached!
% 34.15/4.90  % (16097)------------------------------
% 34.15/4.90  % (16097)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 34.15/4.90  % (16097)Termination reason: Unknown
% 34.15/4.90  % (16097)Termination phase: Saturation
% 34.15/4.90  
% 34.15/4.90  % (16097)Memory used [KB]: 7419
% 34.15/4.90  % (16097)Time elapsed: 0.259 s
% 34.15/4.90  % (16097)Instructions burned: 644 (million)
% 34.15/4.90  % (16097)------------------------------
% 34.15/4.90  % (16097)------------------------------
% 34.15/4.91  % (16081)Instruction limit reached!
% 34.15/4.91  % (16081)------------------------------
% 34.15/4.91  % (16081)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 34.15/4.91  % (16081)Termination reason: Unknown
% 34.15/4.91  % (16081)Termination phase: Saturation
% 34.15/4.91  
% 34.15/4.91  % (16081)Memory used [KB]: 9338
% 34.15/4.91  % (16081)Time elapsed: 0.985 s
% 34.15/4.91  % (16081)Instructions burned: 1980 (million)
% 34.15/4.91  % (16081)------------------------------
% 34.15/4.91  % (16081)------------------------------
% 34.15/4.92  % (16093)Instruction limit reached!
% 34.15/4.92  % (16093)------------------------------
% 34.15/4.92  % (16093)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 34.15/4.92  % (16093)Termination reason: Unknown
% 34.15/4.92  % (16093)Termination phase: Saturation
% 34.15/4.92  
% 34.15/4.92  % (16093)Memory used [KB]: 8699
% 34.15/4.92  % (16093)Time elapsed: 0.464 s
% 34.15/4.92  % (16093)Instructions burned: 1002 (million)
% 34.15/4.92  % (16093)------------------------------
% 34.15/4.92  % (16093)------------------------------
% 34.15/4.92  % (16101)lrs+10_1:1_alpa=true:au=on:cs=on:tgt=ground:i=1201:si=on:rtra=on_0 on Vampire---4 for (2954ds/1201Mi)
% 34.65/4.93  % (16103)lrs+1010_1:1_c=on:cnfonf=lazy_simp:fsr=off:hud=5:kws=arity:nm=32:plsq=on:plsqc=1:plsqr=642,29:prag=on:i=222:si=on:rtra=on_0 on Vampire---4 for (2954ds/222Mi)
% 34.65/4.94  % (16102)lrs+1666_1:64_cnfonf=lazy_simp:hud=5:plsq=on:plsql=on:plsqr=152565,524288:tnu=2:i=1046:si=on:rtra=on_0 on Vampire---4 for (2954ds/1046Mi)
% 34.80/4.98  % (16100)Instruction limit reached!
% 34.80/4.98  % (16100)------------------------------
% 34.80/4.98  % (16100)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 34.80/4.98  % (16100)Termination reason: Unknown
% 34.80/4.98  % (16100)Termination phase: Saturation
% 34.80/4.98  
% 34.80/4.98  % (16100)Memory used [KB]: 7419
% 34.80/4.98  % (16100)Time elapsed: 0.188 s
% 34.80/4.98  % (16100)Instructions burned: 645 (million)
% 34.80/4.98  % (16100)------------------------------
% 34.80/4.98  % (16100)------------------------------
% 34.80/4.99  % (16095)Instruction limit reached!
% 34.80/4.99  % (16095)------------------------------
% 34.80/4.99  % (16095)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 34.80/4.99  % (16095)Termination reason: Unknown
% 34.80/4.99  % (16095)Termination phase: Saturation
% 34.80/4.99  
% 34.80/4.99  % (16095)Memory used [KB]: 9722
% 34.80/4.99  % (16104)ott+1010_1:4_cbe=off:chr=on:hfsq=on:hfsqr=1,16:hud=3:sac=on:sp=unary_frequency:ss=axioms:st=5.0:tnu=2:i=68:si=on:rtra=on_0 on Vampire---4 for (2954ds/68Mi)
% 34.80/4.99  % (16095)Time elapsed: 0.459 s
% 34.80/4.99  % (16095)Instructions burned: 954 (million)
% 34.80/4.99  % (16095)------------------------------
% 34.80/4.99  % (16095)------------------------------
% 34.80/5.01  % (16105)lrs+1010_1:1_chr=on:cnfonf=lazy_not_be_gen:gs=on:hud=5:plsq=on:plsqc=1:plsqr=5,1:prag=on:rawr=on:i=454:si=on:rtra=on_0 on Vampire---4 for (2953ds/454Mi)
% 34.80/5.01  % (16103)Instruction limit reached!
% 34.80/5.01  % (16103)------------------------------
% 34.80/5.01  % (16103)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 34.80/5.01  % (16103)Termination reason: Unknown
% 34.80/5.01  % (16103)Termination phase: Saturation
% 34.80/5.01  
% 34.80/5.01  % (16103)Memory used [KB]: 6652
% 34.80/5.01  % (16103)Time elapsed: 0.086 s
% 34.80/5.01  % (16103)Instructions burned: 223 (million)
% 34.80/5.01  % (16103)------------------------------
% 34.80/5.01  % (16103)------------------------------
% 34.80/5.02  % (16104)Instruction limit reached!
% 34.80/5.02  % (16104)------------------------------
% 34.80/5.02  % (16104)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 34.80/5.02  % (16104)Termination reason: Unknown
% 34.80/5.02  % (16104)Termination phase: Property scanning
% 34.80/5.02  
% 34.80/5.02  % (16104)Memory used [KB]: 1791
% 34.80/5.02  % (16104)Time elapsed: 0.019 s
% 34.80/5.02  % (16104)Instructions burned: 68 (million)
% 34.80/5.02  % (16104)------------------------------
% 34.80/5.02  % (16104)------------------------------
% 34.80/5.03  % (16106)dis+1002_1:1_cnfonf=lazy_simp:hud=5:plsq=on:plsqc=1:plsqr=32,1:prag=on:i=360:si=on:rtra=on_0 on Vampire---4 for (2953ds/360Mi)
% 34.80/5.04  % (16107)lrs+1002_1:16_amm=sco:cnfonf=lazy_pi_sigma_gen:fe=off:nm=60:piset=all_but_not_eq:plsq=on:plsqc=1:plsqr=2,1:rawr=on:sp=occurrence:ss=included:st=-1.0:i=157:si=on:rtra=on_0 on Vampire---4 for (2953ds/157Mi)
% 35.31/5.08  % (16072)Instruction limit reached!
% 35.31/5.08  % (16072)------------------------------
% 35.31/5.08  % (16072)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 35.31/5.08  % (16072)Termination reason: Unknown
% 35.31/5.08  % (16072)Termination phase: Saturation
% 35.31/5.08  
% 35.31/5.08  % (16072)Memory used [KB]: 11641
% 35.31/5.08  % (16072)Time elapsed: 1.572 s
% 35.31/5.08  % (16072)Instructions burned: 3373 (million)
% 35.31/5.08  % (16072)------------------------------
% 35.31/5.08  % (16072)------------------------------
% 35.31/5.10  % (16108)ott+1004_1:24_anc=none:cbe=off:cnfonf=lazy_not_gen:fe=off:piset=not:prag=on:rp=on:i=5061:si=on:rtra=on_0 on Vampire---4 for (2953ds/5061Mi)
% 35.31/5.11  % (16107)Instruction limit reached!
% 35.31/5.11  % (16107)------------------------------
% 35.31/5.11  % (16107)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 35.31/5.11  % (16107)Termination reason: Unknown
% 35.31/5.11  % (16107)Termination phase: Saturation
% 35.31/5.11  
% 35.31/5.11  % (16107)Memory used [KB]: 6524
% 35.31/5.11  % (16107)Time elapsed: 0.043 s
% 35.31/5.11  % (16107)Instructions burned: 158 (million)
% 35.31/5.11  % (16107)------------------------------
% 35.31/5.11  % (16107)------------------------------
% 35.44/5.13  % (16109)lrs+1002_1:8_av=off:fd=off:hud=5:tnu=1:i=2401:si=on:rtra=on_0 on Vampire---4 for (2952ds/2401Mi)
% 35.47/5.17  % (16106)Instruction limit reached!
% 35.47/5.17  % (16106)------------------------------
% 35.47/5.17  % (16106)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 35.47/5.17  % (16106)Termination reason: Unknown
% 35.47/5.17  % (16106)Termination phase: Saturation
% 35.47/5.17  
% 35.47/5.17  % (16106)Memory used [KB]: 7164
% 35.47/5.17  % (16106)Time elapsed: 0.148 s
% 35.47/5.17  % (16106)Instructions burned: 361 (million)
% 35.47/5.17  % (16106)------------------------------
% 35.47/5.17  % (16106)------------------------------
% 35.47/5.19  % (16110)dis+10_1:1_av=off:e2e=on:nm=4:s2a=on:i=5798:si=on:rtra=on_0 on Vampire---4 for (2952ds/5798Mi)
% 35.47/5.21  % (16105)Instruction limit reached!
% 35.47/5.21  % (16105)------------------------------
% 35.47/5.21  % (16105)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 35.47/5.21  % (16105)Termination reason: Unknown
% 35.47/5.21  % (16105)Termination phase: Saturation
% 35.47/5.21  
% 35.47/5.21  % (16105)Memory used [KB]: 11769
% 35.47/5.21  % (16105)Time elapsed: 0.160 s
% 35.47/5.21  % (16105)Instructions burned: 455 (million)
% 35.47/5.21  % (16105)------------------------------
% 35.47/5.21  % (16105)------------------------------
% 35.47/5.22  % (16111)dis+10_1:1_au=on:cnfonf=lazy_gen:ixr=off:plsq=on:plsqc=1:plsqr=32,1:i=346:si=on:rtra=on_0 on Vampire---4 for (2951ds/346Mi)
% 35.83/5.29  % (16099)Instruction limit reached!
% 35.83/5.29  % (16099)------------------------------
% 35.83/5.29  % (16099)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 35.83/5.29  % (16099)Termination reason: Unknown
% 35.83/5.29  % (16099)Termination phase: Saturation
% 35.83/5.29  
% 35.83/5.29  % (16099)Memory used [KB]: 9210
% 35.83/5.29  % (16099)Time elapsed: 0.517 s
% 35.83/5.29  % (16099)Instructions burned: 1175 (million)
% 35.83/5.29  % (16099)------------------------------
% 35.83/5.29  % (16099)------------------------------
% 37.65/5.31  % (16112)lrs+1002_1:1_av=off:bd=off:bet=on:e2e=on:fde=unused:fe=off:plsq=on:prag=on:sos=on:i=1321:si=on:rtra=on_0 on Vampire---4 for (2950ds/1321Mi)
% 37.65/5.37  % (16111)Instruction limit reached!
% 37.65/5.37  % (16111)------------------------------
% 37.65/5.37  % (16111)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 37.65/5.37  % (16111)Termination reason: Unknown
% 37.65/5.37  % (16111)Termination phase: Saturation
% 37.65/5.37  
% 37.65/5.37  % (16111)Memory used [KB]: 6908
% 37.65/5.37  % (16111)Time elapsed: 0.156 s
% 37.65/5.37  % (16111)Instructions burned: 347 (million)
% 37.65/5.37  % (16111)------------------------------
% 37.65/5.37  % (16111)------------------------------
% 38.19/5.38  % (16113)lrs+10_1:1_cnfonf=lazy_gen:kws=inv_precedence:nwc=10.0:i=1312:si=on:rtra=on_0 on Vampire---4 for (2950ds/1312Mi)
% 38.26/5.40  % (16102)Refutation not found, non-redundant clauses discarded% (16102)------------------------------
% 38.26/5.40  % (16102)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 38.26/5.40  % (16102)Termination reason: Refutation not found, non-redundant clauses discarded
% 38.26/5.40  
% 38.26/5.40  % (16102)Memory used [KB]: 8315
% 38.26/5.40  % (16102)Time elapsed: 0.497 s
% 38.26/5.40  % (16102)Instructions burned: 1042 (million)
% 38.26/5.40  % (16102)------------------------------
% 38.26/5.40  % (16102)------------------------------
% 38.45/5.42  % (16114)ott+2_8:1_add=large:c=on:cnfonf=off:e2e=on:er=filter:hud=5:plsq=on:plsqr=1,1:ss=axioms:i=672:si=on:rtra=on_0 on Vampire---4 for (2949ds/672Mi)
% 38.50/5.44  % (16101)Instruction limit reached!
% 38.50/5.44  % (16101)------------------------------
% 38.50/5.44  % (16101)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 38.50/5.44  % (16101)Termination reason: Unknown
% 38.50/5.44  % (16101)Termination phase: Saturation
% 38.50/5.44  
% 38.50/5.44  % (16101)Memory used [KB]: 9083
% 38.50/5.44  % (16101)Time elapsed: 0.523 s
% 38.50/5.44  % (16101)Instructions burned: 1202 (million)
% 38.50/5.44  % (16101)------------------------------
% 38.50/5.44  % (16101)------------------------------
% 38.50/5.46  % (16115)dis+10_1:1_au=on:c=on:e2e=on:fsr=off:sos=all:sp=const_frequency:ss=axioms:i=1897:si=on:rtra=on_0 on Vampire---4 for (2949ds/1897Mi)
% 38.85/5.53  % (16044)Instruction limit reached!
% 38.85/5.53  % (16044)------------------------------
% 38.85/5.53  % (16044)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 38.85/5.53  % (16044)Termination reason: Unknown
% 38.85/5.53  % (16044)Termination phase: Saturation
% 38.85/5.53  
% 38.85/5.53  % (16044)Memory used [KB]: 24434
% 38.85/5.53  % (16044)Time elapsed: 3.521 s
% 38.85/5.53  % (16044)Instructions burned: 8251 (million)
% 38.85/5.53  % (16044)------------------------------
% 38.85/5.53  % (16044)------------------------------
% 38.85/5.56  % (16116)lrs+10_1:40_av=off:fde=unused:ntd=on:plsq=on:plsqc=2:plsqr=411915,1048576:sp=unary_frequency:tgt=full:i=1202:si=on:rtra=on_0 on Vampire---4 for (2948ds/1202Mi)
% 39.54/5.73  % (16114)Instruction limit reached!
% 39.54/5.73  % (16114)------------------------------
% 39.54/5.73  % (16114)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 39.54/5.73  % (16114)Termination reason: Unknown
% 39.54/5.73  % (16114)Termination phase: Saturation
% 39.54/5.73  
% 39.54/5.73  % (16114)Memory used [KB]: 9978
% 39.54/5.73  % (16114)Time elapsed: 0.336 s
% 39.54/5.73  % (16114)Instructions burned: 673 (million)
% 39.54/5.73  % (16114)------------------------------
% 39.54/5.73  % (16114)------------------------------
% 39.54/5.75  % (16117)dis+21_1:1_au=on:cnfonf=lazy_pi_sigma_gen:hfsq=on:hfsqc=40:hfsqr=8,1:ntd=on:sos=on:sp=occurrence:ss=axioms:i=1493:si=on:rtra=on_0 on Vampire---4 for (2946ds/1493Mi)
% 41.77/5.87  % (16112)Instruction limit reached!
% 41.77/5.87  % (16112)------------------------------
% 41.77/5.87  % (16112)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 41.77/5.87  % (16112)Termination reason: Unknown
% 41.77/5.87  % (16112)Termination phase: Saturation
% 41.77/5.87  
% 41.77/5.87  % (16112)Memory used [KB]: 8059
% 41.77/5.87  % (16112)Time elapsed: 0.581 s
% 41.77/5.87  % (16112)Instructions burned: 1322 (million)
% 41.77/5.87  % (16112)------------------------------
% 41.77/5.87  % (16112)------------------------------
% 41.77/5.88  % (16113)Instruction limit reached!
% 41.77/5.88  % (16113)------------------------------
% 41.77/5.88  % (16113)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 41.77/5.88  % (16113)Termination reason: Unknown
% 41.77/5.88  % (16113)Termination phase: Saturation
% 41.77/5.88  
% 41.77/5.88  % (16113)Memory used [KB]: 7036
% 41.77/5.88  % (16113)Time elapsed: 0.525 s
% 41.77/5.88  % (16113)Instructions burned: 1314 (million)
% 41.77/5.88  % (16113)------------------------------
% 41.77/5.88  % (16113)------------------------------
% 41.77/5.89  % (16118)dis+1010_3:1_av=off:fde=unused:hud=10:nwc=10.0:s2a=on:ss=axioms:i=7679:si=on:rtra=on_0 on Vampire---4 for (2945ds/7679Mi)
% 41.77/5.90  % (16119)lrs+2_1:1024_anc=all:cnfonf=off:cs=on:e2e=on:nm=20:s2at=1.5:slsq=on:slsqr=1,2:spb=goal:i=340:si=on:rtra=on_0 on Vampire---4 for (2944ds/340Mi)
% 42.88/6.03  % (16116)Instruction limit reached!
% 42.88/6.03  % (16116)------------------------------
% 42.88/6.03  % (16116)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 42.88/6.03  % (16116)Termination reason: Unknown
% 42.88/6.03  % (16116)Termination phase: Saturation
% 42.88/6.03  
% 42.88/6.03  % (16116)Memory used [KB]: 4221
% 42.88/6.03  % (16116)Time elapsed: 0.491 s
% 42.88/6.03  % (16116)Instructions burned: 1202 (million)
% 42.88/6.03  % (16116)------------------------------
% 42.88/6.03  % (16116)------------------------------
% 42.88/6.04  % (16120)dis+1002_1:1_acc=model:au=on:nwc=5.0:sd=5:ss=axioms:st=2.5:i=3672:si=on:rtra=on_0 on Vampire---4 for (2943ds/3672Mi)
% 42.88/6.07  % (16119)Instruction limit reached!
% 42.88/6.07  % (16119)------------------------------
% 42.88/6.07  % (16119)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 42.88/6.07  % (16119)Termination reason: Unknown
% 42.88/6.07  % (16119)Termination phase: Saturation
% 42.88/6.07  
% 42.88/6.07  % (16119)Memory used [KB]: 10106
% 42.88/6.07  % (16119)Time elapsed: 0.169 s
% 42.88/6.07  % (16119)Instructions burned: 341 (million)
% 42.88/6.07  % (16119)------------------------------
% 42.88/6.07  % (16119)------------------------------
% 43.55/6.10  % (16121)dis-1002_3:1_acc=model:bd=off:bsd=on:bsdmm=1:cnfonf=lazy_not_be_gen:fd=off:fe=off:ntd=on:nwc=10.0:piset=equals:plsq=on:plsqc=1:plsqr=32,1:sp=const_max:uhcvi=on:i=1535:si=on:rtra=on_0 on Vampire---4 for (2943ds/1535Mi)
% 44.10/6.20  % (16109)Instruction limit reached!
% 44.10/6.20  % (16109)------------------------------
% 44.10/6.20  % (16109)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 44.10/6.20  % (16109)Termination reason: Unknown
% 44.10/6.20  % (16109)Termination phase: Saturation
% 44.10/6.20  
% 44.10/6.20  % (16109)Memory used [KB]: 11897
% 44.10/6.20  % (16109)Time elapsed: 1.090 s
% 44.10/6.20  % (16109)Instructions burned: 2401 (million)
% 44.10/6.20  % (16109)------------------------------
% 44.10/6.20  % (16109)------------------------------
% 44.15/6.21  % (16122)dis+10_16:1_hud=1:plsq=on:plsqc=1:plsqr=32,1:prag=on:sd=1:sgt=64:ss=axioms:i=4637:si=on:rtra=on_0 on Vampire---4 for (2941ds/4637Mi)
% 44.15/6.24  % (16122)Refutation not found, incomplete strategy
% 44.15/6.24  % (16122)------------------------------
% 44.15/6.24  % (16122)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 44.15/6.24  % (16122)Termination reason: Refutation not found, incomplete strategy
% 44.15/6.24  
% 44.15/6.24  
% 44.15/6.24  % (16122)Memory used [KB]: 6268
% 44.15/6.24  % (16122)Time elapsed: 0.027 s
% 44.15/6.24  % (16122)Instructions burned: 57 (million)
% 44.15/6.24  % (16122)------------------------------
% 44.15/6.24  % (16122)------------------------------
% 44.15/6.26  % (16123)lrs+10_1:1_fde=unused:prag=on:sd=2:sgt=32:ss=axioms:i=3174:si=on:rtra=on_0 on Vampire---4 for (2941ds/3174Mi)
% 44.95/6.40  % (16115)Instruction limit reached!
% 44.95/6.40  % (16115)------------------------------
% 44.95/6.40  % (16115)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 44.95/6.40  % (16115)Termination reason: Unknown
% 44.95/6.40  % (16115)Termination phase: Saturation
% 44.95/6.40  
% 44.95/6.40  % (16115)Memory used [KB]: 11257
% 44.95/6.40  % (16115)Time elapsed: 0.964 s
% 44.95/6.40  % (16115)Instructions burned: 1898 (million)
% 44.95/6.40  % (16115)------------------------------
% 44.95/6.40  % (16115)------------------------------
% 44.95/6.41  % (16117)Instruction limit reached!
% 44.95/6.41  % (16117)------------------------------
% 44.95/6.41  % (16117)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 44.95/6.41  % (16117)Termination reason: Unknown
% 44.95/6.41  % (16117)Termination phase: Saturation
% 44.95/6.41  
% 44.95/6.41  % (16117)Memory used [KB]: 9466
% 44.95/6.41  % (16117)Time elapsed: 0.682 s
% 44.95/6.41  % (16117)Instructions burned: 1493 (million)
% 44.95/6.41  % (16117)------------------------------
% 44.95/6.41  % (16117)------------------------------
% 44.95/6.41  % (16124)lrs+1010_1:10_au=on:bd=off:cnfonf=lazy_pi_sigma_gen:sp=occurrence:i=307:si=on:rtra=on_0 on Vampire---4 for (2939ds/307Mi)
% 44.95/6.43  % (16125)dis+1002_5:1_au=on:bd=off:e2e=on:fde=none:fs=off:fsr=off:sos=on:i=3619:si=on:rtra=on_0 on Vampire---4 for (2939ds/3619Mi)
% 47.28/6.54  % (16124)Instruction limit reached!
% 47.28/6.54  % (16124)------------------------------
% 47.28/6.54  % (16124)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 47.28/6.54  % (16124)Termination reason: Unknown
% 47.28/6.54  % (16124)Termination phase: Saturation
% 47.28/6.54  
% 47.28/6.54  % (16124)Memory used [KB]: 6780
% 47.28/6.54  % (16124)Time elapsed: 0.125 s
% 47.28/6.54  % (16124)Instructions burned: 308 (million)
% 47.28/6.54  % (16124)------------------------------
% 47.28/6.54  % (16124)------------------------------
% 47.28/6.56  % (16121)Instruction limit reached!
% 47.28/6.56  % (16121)------------------------------
% 47.28/6.56  % (16121)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 47.28/6.56  % (16121)Termination reason: Unknown
% 47.28/6.56  % (16121)Termination phase: Saturation
% 47.28/6.56  
% 47.28/6.56  % (16121)Memory used [KB]: 10106
% 47.28/6.56  % (16121)Time elapsed: 0.486 s
% 47.28/6.56  % (16121)Instructions burned: 1536 (million)
% 47.28/6.56  % (16121)------------------------------
% 47.28/6.56  % (16121)------------------------------
% 47.28/6.57  % (16127)dis+1002_1:1_au=on:sac=on:sd=5:slsq=on:slsqr=1,4:ss=axioms:st=2.0:i=2341:si=on:rtra=on_0 on Vampire---4 for (2938ds/2341Mi)
% 47.28/6.57  % (16126)lrs+1002_1:1_au=on:cbe=off:fde=none:ins=1:sp=const_max:i=2325:si=on:rtra=on_0 on Vampire---4 for (2938ds/2325Mi)
% 53.45/7.34  % (16127)Instruction limit reached!
% 53.45/7.34  % (16127)------------------------------
% 53.45/7.34  % (16127)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 53.45/7.34  % (16127)Termination reason: Unknown
% 53.45/7.34  % (16127)Termination phase: Saturation
% 53.45/7.34  
% 53.45/7.34  % (16127)Memory used [KB]: 9594
% 53.45/7.34  % (16127)Time elapsed: 0.763 s
% 53.45/7.34  % (16127)Instructions burned: 2343 (million)
% 53.45/7.34  % (16127)------------------------------
% 53.45/7.34  % (16127)------------------------------
% 53.73/7.35  % (16128)lrs+1010_1:16_apa=on:bsd=on:cnfonf=off:hud=10:sac=on:sos=on:ss=axioms:i=7257:si=on:rtra=on_0 on Vampire---4 for (2930ds/7257Mi)
% 54.70/7.50  % (16110)Instruction limit reached!
% 54.70/7.50  % (16110)------------------------------
% 54.70/7.50  % (16110)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 54.70/7.50  % (16110)Termination reason: Unknown
% 54.70/7.50  % (16110)Termination phase: Saturation
% 54.70/7.50  
% 54.70/7.50  % (16110)Memory used [KB]: 8059
% 54.70/7.50  % (16110)Time elapsed: 2.310 s
% 54.70/7.50  % (16110)Instructions burned: 5799 (million)
% 54.70/7.50  % (16110)------------------------------
% 54.70/7.50  % (16110)------------------------------
% 54.70/7.51  % (16129)ott+1010_1:1_cnfonf=lazy_gen:fe=off:plsq=on:plsqc=1:plsqr=3548551,65536:s2a=on:i=3710:si=on:rtra=on_0 on Vampire---4 for (2928ds/3710Mi)
% 55.16/7.58  % (16108)Instruction limit reached!
% 55.16/7.58  % (16108)------------------------------
% 55.16/7.58  % (16108)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 55.16/7.58  % (16108)Termination reason: Unknown
% 55.16/7.58  % (16108)Termination phase: Saturation
% 55.16/7.58  
% 55.16/7.58  % (16108)Memory used [KB]: 15735
% 55.16/7.58  % (16108)Time elapsed: 2.487 s
% 55.16/7.58  % (16108)Instructions burned: 5062 (million)
% 55.16/7.58  % (16108)------------------------------
% 55.16/7.58  % (16108)------------------------------
% 55.16/7.60  % (16130)lrs+1010_1:1_avsq=on:avsqr=1,16:kws=inv_arity:nwc=5.0:sd=1:ss=axioms:i=326:si=on:rtra=on_0 on Vampire---4 for (2928ds/326Mi)
% 55.47/7.63  % (16130)Refutation not found, incomplete strategy
% 55.47/7.63  % (16130)------------------------------
% 55.47/7.63  % (16130)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 55.47/7.63  % (16130)Termination reason: Refutation not found, incomplete strategy
% 55.47/7.63  
% 55.47/7.63  
% 55.47/7.63  % (16130)Memory used [KB]: 6268
% 55.47/7.63  % (16130)Time elapsed: 0.059 s
% 55.47/7.63  % (16130)Instructions burned: 56 (million)
% 55.47/7.63  % (16130)------------------------------
% 55.47/7.63  % (16130)------------------------------
% 55.47/7.64  % (16131)lrs+1010_1:64_au=on:c=on:e2e=on:flr=on:hfsq=on:hfsql=off:hfsqr=4,1:ins=1:ntd=on:sp=occurrence:i=1100:si=on:rtra=on_0 on Vampire---4 for (2927ds/1100Mi)
% 55.67/7.70  % (16126)Instruction limit reached!
% 55.67/7.70  % (16126)------------------------------
% 55.67/7.70  % (16126)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 55.67/7.70  % (16126)Termination reason: Unknown
% 55.67/7.70  % (16126)Termination phase: Saturation
% 55.67/7.70  
% 55.67/7.70  % (16126)Memory used [KB]: 14200
% 55.67/7.70  % (16126)Time elapsed: 1.156 s
% 55.67/7.70  % (16126)Instructions burned: 2326 (million)
% 55.67/7.70  % (16126)------------------------------
% 55.67/7.70  % (16126)------------------------------
% 55.67/7.71  % (16123)Instruction limit reached!
% 55.67/7.71  % (16123)------------------------------
% 55.67/7.71  % (16123)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 55.67/7.71  % (16123)Termination reason: Unknown
% 55.67/7.71  % (16123)Termination phase: Saturation
% 55.67/7.71  
% 55.67/7.71  % (16123)Memory used [KB]: 13560
% 55.67/7.71  % (16123)Time elapsed: 1.452 s
% 55.67/7.71  % (16123)Instructions burned: 3174 (million)
% 55.67/7.71  % (16123)------------------------------
% 55.67/7.71  % (16123)------------------------------
% 55.67/7.71  % (16132)lrs+10_1:1_au=on:cnfonf=off:fde=unused:kws=precedence:tgt=full:i=406:si=on:rtra=on_0 on Vampire---4 for (2926ds/406Mi)
% 56.09/7.74  % (16133)dis+1010_1:1_aac=none:bd=preordered:e2e=on:fde=none:fe=axiom:nm=16:nwc=10.0:prag=on:i=1871:si=on:rtra=on_0 on Vampire---4 for (2926ds/1871Mi)
% 56.09/7.77  % (16120)Instruction limit reached!
% 56.09/7.77  % (16120)------------------------------
% 56.09/7.77  % (16120)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 56.09/7.77  % (16120)Termination reason: Unknown
% 56.09/7.77  % (16120)Termination phase: Saturation
% 56.09/7.77  
% 56.09/7.77  % (16120)Memory used [KB]: 12025
% 56.09/7.77  % (16120)Time elapsed: 1.728 s
% 56.09/7.77  % (16120)Instructions burned: 3673 (million)
% 56.09/7.77  % (16120)------------------------------
% 56.09/7.77  % (16120)------------------------------
% 56.09/7.78  % (16132)Refutation not found, incomplete strategy
% 56.09/7.78  % (16132)------------------------------
% 56.09/7.78  % (16132)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 56.09/7.78  % (16132)Termination reason: Refutation not found, incomplete strategy
% 56.09/7.78  
% 56.09/7.78  
% 56.09/7.78  % (16132)Memory used [KB]: 6652
% 56.09/7.78  % (16132)Time elapsed: 0.062 s
% 56.09/7.78  % (16132)Instructions burned: 132 (million)
% 56.09/7.78  % (16132)------------------------------
% 56.09/7.78  % (16132)------------------------------
% 56.31/7.79  % (16134)dis+2_1:1_bd=off:e2e=on:hud=1:nm=3:piset=or:prag=on:s2a=on:sp=const_max:i=1194:si=on:rtra=on_0 on Vampire---4 for (2926ds/1194Mi)
% 56.31/7.80  % (16135)dis+10_1:1024_aac=none:au=on:cnfonf=lazy_gen:plsq=on:plsqc=1:plsqr=32,1:spb=goal_then_units:i=474:si=on:rtra=on_0 on Vampire---4 for (2926ds/474Mi)
% 58.39/7.99  % (16135)Instruction limit reached!
% 58.39/7.99  % (16135)------------------------------
% 58.39/7.99  % (16135)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 58.39/7.99  % (16135)Termination reason: Unknown
% 58.39/7.99  % (16135)Termination phase: Saturation
% 58.39/7.99  
% 58.39/7.99  % (16135)Memory used [KB]: 7291
% 58.39/7.99  % (16135)Time elapsed: 0.219 s
% 58.39/7.99  % (16135)Instructions burned: 474 (million)
% 58.39/7.99  % (16135)------------------------------
% 58.39/7.99  % (16135)------------------------------
% 58.39/7.99  % (16136)dis+1010_1:1_au=on:cnfonf=lazy_gen:ins=3:plsq=on:plsqc=1:plsqr=15142123,262144:sp=reverse_arity:i=3115:si=on:rtra=on_0 on Vampire---4 for (2924ds/3115Mi)
% 59.30/8.08  % (16128)Refutation not found, incomplete strategy
% 59.30/8.08  % (16128)------------------------------
% 59.30/8.08  % (16128)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 59.30/8.08  % (16128)Termination reason: Refutation not found, incomplete strategy
% 59.30/8.08  
% 59.30/8.08  
% 59.30/8.08  % (16128)Memory used [KB]: 8699
% 59.30/8.08  % (16128)Time elapsed: 0.746 s
% 59.30/8.08  % (16128)Instructions burned: 2014 (million)
% 59.30/8.08  % (16128)------------------------------
% 59.30/8.08  % (16128)------------------------------
% 59.30/8.10  % (16137)dis+10_1:1024_kws=precedence:prag=on:rawr=on:sos=all:sp=unary_first:i=831:si=on:rtra=on_0 on Vampire---4 for (2923ds/831Mi)
% 59.30/8.14  % (16125)Instruction limit reached!
% 59.30/8.14  % (16125)------------------------------
% 59.30/8.14  % (16125)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 59.30/8.14  % (16125)Termination reason: Unknown
% 59.30/8.14  % (16125)Termination phase: Saturation
% 59.30/8.14  
% 59.30/8.14  % (16125)Memory used [KB]: 23922
% 59.30/8.14  % (16125)Time elapsed: 1.720 s
% 59.30/8.14  % (16125)Instructions burned: 3620 (million)
% 59.30/8.14  % (16125)------------------------------
% 59.30/8.14  % (16125)------------------------------
% 59.76/8.16  % (16131)Instruction limit reached!
% 59.76/8.16  % (16131)------------------------------
% 59.76/8.16  % (16131)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 59.76/8.16  % (16131)Termination reason: Unknown
% 59.76/8.16  % (16131)Termination phase: Saturation
% 59.76/8.16  
% 59.76/8.16  % (16131)Memory used [KB]: 17014
% 59.76/8.16  % (16131)Time elapsed: 0.535 s
% 59.76/8.16  % (16131)Instructions burned: 1101 (million)
% 59.76/8.16  % (16131)------------------------------
% 59.76/8.16  % (16131)------------------------------
% 59.76/8.16  % (16138)dis+1666_14:1_cnfonf=lazy_gen:fe=off:hud=10:piset=all_but_not_eq:prag=on:sp=const_max:i=1188:si=on:rtra=on_0 on Vampire---4 for (2922ds/1188Mi)
% 59.76/8.17  % (16139)ott+1010_1:20_cnfonf=lazy_pi_sigma_gen:fe=axiom:plsq=on:plsqc=2:plsqr=32,1:sac=on:sos=all:i=2868:si=on:rtra=on_0 on Vampire---4 for (2922ds/2868Mi)
% 60.50/8.35  % (16134)Instruction limit reached!
% 60.50/8.35  % (16134)------------------------------
% 60.50/8.35  % (16134)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 60.50/8.35  % (16134)Termination reason: Unknown
% 60.50/8.35  % (16134)Termination phase: Saturation
% 60.50/8.35  
% 60.50/8.35  % (16134)Memory used [KB]: 11641
% 60.50/8.35  % (16134)Time elapsed: 0.591 s
% 60.50/8.35  % (16134)Instructions burned: 1195 (million)
% 60.50/8.35  % (16134)------------------------------
% 60.50/8.35  % (16134)------------------------------
% 60.50/8.38  % (16140)dis+10_1:4_atotf=0.1:avsq=on:bsr=unit_only:e2e=on:sd=1:sp=const_max:ss=axioms:i=1516:si=on:rtra=on_0 on Vampire---4 for (2920ds/1516Mi)
% 61.68/8.40  % (16140)Refutation not found, incomplete strategy
% 61.68/8.40  % (16140)------------------------------
% 61.68/8.40  % (16140)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 61.68/8.40  % (16140)Termination reason: Refutation not found, incomplete strategy
% 61.68/8.40  
% 61.68/8.40  
% 61.68/8.40  % (16140)Memory used [KB]: 6268
% 61.68/8.40  % (16140)Time elapsed: 0.048 s
% 61.68/8.40  % (16140)Instructions burned: 29 (million)
% 61.68/8.40  % (16140)------------------------------
% 61.68/8.40  % (16140)------------------------------
% 61.68/8.42  % (16141)lrs+1002_1:20_afp=1000:au=on:bsd=on:cnfonf=lazy_not_gen_be_off:sos=all:sp=const_max:i=2321:si=on:rtra=on_0 on Vampire---4 for (2919ds/2321Mi)
% 62.25/8.50  % (16137)Instruction limit reached!
% 62.25/8.50  % (16137)------------------------------
% 62.25/8.50  % (16137)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 62.25/8.50  % (16137)Termination reason: Unknown
% 62.25/8.50  % (16137)Termination phase: Saturation
% 62.25/8.50  
% 62.25/8.50  % (16137)Memory used [KB]: 7931
% 62.25/8.50  % (16137)Time elapsed: 0.434 s
% 62.25/8.50  % (16137)Instructions burned: 832 (million)
% 62.25/8.50  % (16137)------------------------------
% 62.25/8.50  % (16137)------------------------------
% 62.45/8.51  % (16142)dis+1010_1:1_au=on:bd=off:bsd=on:ixr=off:sp=const_max:i=2812:si=on:rtra=on_0 on Vampire---4 for (2918ds/2812Mi)
% 62.60/8.60  % (16133)Instruction limit reached!
% 62.60/8.60  % (16133)------------------------------
% 62.60/8.60  % (16133)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 62.60/8.60  % (16133)Termination reason: Unknown
% 62.60/8.60  % (16133)Termination phase: Saturation
% 62.60/8.60  
% 62.60/8.60  % (16133)Memory used [KB]: 18166
% 62.60/8.60  % (16133)Time elapsed: 0.889 s
% 62.60/8.60  % (16133)Instructions burned: 1873 (million)
% 62.60/8.60  % (16133)------------------------------
% 62.60/8.60  % (16133)------------------------------
% 62.60/8.62  % (16143)dis+1002_8:1_bd=off:sd=1:sgt=16:ss=axioms:i=4604:si=on:rtra=on_0 on Vampire---4 for (2917ds/4604Mi)
% 63.18/8.63  % (16138)Instruction limit reached!
% 63.18/8.63  % (16138)------------------------------
% 63.18/8.63  % (16138)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 63.18/8.63  % (16138)Termination reason: Unknown
% 63.18/8.63  % (16138)Termination phase: Saturation
% 63.18/8.63  
% 63.18/8.63  % (16138)Memory used [KB]: 7419
% 63.18/8.63  % (16138)Time elapsed: 0.495 s
% 63.18/8.63  % (16138)Instructions burned: 1190 (million)
% 63.18/8.63  % (16138)------------------------------
% 63.18/8.63  % (16138)------------------------------
% 63.18/8.64  % (16143)Refutation not found, incomplete strategy
% 63.18/8.64  % (16143)------------------------------
% 63.18/8.64  % (16143)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 63.18/8.64  % (16143)Termination reason: Refutation not found, incomplete strategy
% 63.18/8.64  
% 63.18/8.64  
% 63.18/8.64  % (16143)Memory used [KB]: 6268
% 63.18/8.64  % (16143)Time elapsed: 0.051 s
% 63.18/8.64  % (16143)Instructions burned: 55 (million)
% 63.18/8.64  % (16143)------------------------------
% 63.18/8.64  % (16143)------------------------------
% 63.18/8.65  % (16144)ott+1002_1:4_c=on:chr=on:cnfonf=lazy_not_be_gen:hud=10:nm=10:piset=all_but_not_eq:rp=on:spb=goal:uhcvi=on:i=2678:si=on:rtra=on_0 on Vampire---4 for (2917ds/2678Mi)
% 63.18/8.66  % (16145)dis+1010_1:4_avsq=on:avsqr=16,1:bet=on:cbe=off:cnfonf=lazy_not_be_gen:hud=5:plsq=on:plsqc=1:plsqr=32,1:prag=on:i=643:si=on:rtra=on_0 on Vampire---4 for (2917ds/643Mi)
% 64.03/8.89  % (16145)Instruction limit reached!
% 64.03/8.89  % (16145)------------------------------
% 64.03/8.89  % (16145)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 64.03/8.89  % (16145)Termination reason: Unknown
% 64.03/8.89  % (16145)Termination phase: Saturation
% 64.03/8.89  
% 64.03/8.89  % (16145)Memory used [KB]: 7419
% 64.03/8.89  % (16145)Time elapsed: 0.233 s
% 64.03/8.89  % (16145)Instructions burned: 644 (million)
% 64.03/8.89  % (16145)------------------------------
% 64.03/8.89  % (16145)------------------------------
% 64.03/8.91  % (16146)lrs+1010_1:1_au=on:cbe=off:cnfonf=lazy_not_be_gen:ntd=on:pe=on:i=458:si=on:rtra=on_0 on Vampire---4 for (2914ds/458Mi)
% 64.66/8.96  % (16118)Instruction limit reached!
% 64.66/8.96  % (16118)------------------------------
% 64.66/8.96  % (16118)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 64.66/8.96  % (16118)Termination reason: Unknown
% 64.66/8.96  % (16118)Termination phase: Saturation
% 64.66/8.96  
% 64.66/8.96  % (16118)Memory used [KB]: 13304
% 64.66/8.96  % (16118)Time elapsed: 3.077 s
% 64.66/8.96  % (16118)Instructions burned: 7680 (million)
% 64.66/8.96  % (16118)------------------------------
% 64.66/8.96  % (16118)------------------------------
% 64.66/8.99  % (16147)lrs+1010_1:1_anc=all_dependent:apa=on:au=on:bd=off:c=on:cnfonf=off:ntd=on:i=2546:si=on:rtra=on_0 on Vampire---4 for (2914ds/2546Mi)
% 66.46/9.07  % (16146)Instruction limit reached!
% 66.46/9.07  % (16146)------------------------------
% 66.46/9.07  % (16146)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 66.46/9.07  % (16146)Termination reason: Unknown
% 66.46/9.07  % (16146)Termination phase: Saturation
% 66.46/9.07  
% 66.46/9.07  % (16146)Memory used [KB]: 7164
% 66.46/9.07  % (16146)Time elapsed: 0.160 s
% 66.46/9.07  % (16146)Instructions burned: 458 (million)
% 66.46/9.07  % (16146)------------------------------
% 66.46/9.07  % (16146)------------------------------
% 66.46/9.09  % (16148)dis+21_1:1_acc=model:au=on:cnfonf=lazy_gen:ins=2:plsq=on:plsqc=1:plsqr=32,1:i=1432:si=on:rtra=on_0 on Vampire---4 for (2912ds/1432Mi)
% 67.90/9.28  % (16136)Instruction limit reached!
% 67.90/9.28  % (16136)------------------------------
% 67.90/9.28  % (16136)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 67.90/9.28  % (16136)Termination reason: Unknown
% 67.90/9.28  % (16136)Termination phase: Saturation
% 67.90/9.28  
% 67.90/9.28  % (16136)Memory used [KB]: 9722
% 67.90/9.28  % (16136)Time elapsed: 1.285 s
% 67.90/9.28  % (16136)Instructions burned: 3117 (million)
% 67.90/9.28  % (16136)------------------------------
% 67.90/9.28  % (16136)------------------------------
% 68.56/9.30  % (16149)dis+1002_1:1_cnfonf=lazy_not_gen:hud=10:plsq=on:plsqc=1:plsqr=32,1:prag=on:i=386:si=on:rtra=on_0 on Vampire---4 for (2910ds/386Mi)
% 68.56/9.33  % (16129)Instruction limit reached!
% 68.56/9.33  % (16129)------------------------------
% 68.56/9.33  % (16129)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 68.56/9.33  % (16129)Termination reason: Unknown
% 68.56/9.33  % (16129)Termination phase: Saturation
% 68.56/9.33  
% 68.56/9.33  % (16129)Memory used [KB]: 16247
% 68.56/9.33  % (16129)Time elapsed: 1.821 s
% 68.56/9.33  % (16129)Instructions burned: 3711 (million)
% 68.56/9.33  % (16129)------------------------------
% 68.56/9.33  % (16129)------------------------------
% 68.56/9.35  % (16150)dis+1002_1:1_cnfonf=lazy_simp:hud=5:plsq=on:plsqc=1:plsqr=32,1:prag=on:i=360:si=on:rtra=on_0 on Vampire---4 for (2910ds/360Mi)
% 69.13/9.45  % (16141)Instruction limit reached!
% 69.13/9.45  % (16141)------------------------------
% 69.13/9.45  % (16141)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 69.13/9.45  % (16141)Termination reason: Unknown
% 69.13/9.45  % (16141)Termination phase: Saturation
% 69.13/9.45  
% 69.13/9.45  % (16141)Memory used [KB]: 9594
% 69.13/9.45  % (16141)Time elapsed: 1.067 s
% 69.13/9.45  % (16141)Instructions burned: 2322 (million)
% 69.13/9.45  % (16141)------------------------------
% 69.13/9.45  % (16141)------------------------------
% 69.13/9.47  % (16151)dis+1010_1:1_au=on:cbe=off:chr=on:fsr=off:hfsq=on:nm=64:sos=theory:sp=weighted_frequency:i=5446:si=on:rtra=on_0 on Vampire---4 for (2909ds/5446Mi)
% 69.13/9.48  % (16149)Instruction limit reached!
% 69.13/9.48  % (16149)------------------------------
% 69.13/9.48  % (16149)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 69.13/9.48  % (16149)Termination reason: Unknown
% 69.13/9.48  % (16149)Termination phase: Saturation
% 69.13/9.48  
% 69.13/9.48  % (16149)Memory used [KB]: 7291
% 69.13/9.48  % (16149)Time elapsed: 0.199 s
% 69.13/9.48  % (16149)Instructions burned: 387 (million)
% 69.13/9.48  % (16149)------------------------------
% 69.13/9.48  % (16149)------------------------------
% 69.13/9.49  % (16139)Instruction limit reached!
% 69.13/9.49  % (16139)------------------------------
% 69.13/9.49  % (16139)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 69.13/9.49  % (16139)Termination reason: Unknown
% 69.13/9.49  % (16139)Termination phase: Saturation
% 69.13/9.49  
% 69.13/9.49  % (16139)Memory used [KB]: 10746
% 69.13/9.49  % (16139)Time elapsed: 1.341 s
% 69.13/9.49  % (16139)Instructions burned: 2868 (million)
% 69.13/9.49  % (16139)------------------------------
% 69.13/9.49  % (16139)------------------------------
% 69.13/9.49  % (16150)Instruction limit reached!
% 69.13/9.49  % (16150)------------------------------
% 69.13/9.49  % (16150)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 69.13/9.49  % (16150)Termination reason: Unknown
% 69.13/9.49  % (16150)Termination phase: Saturation
% 69.13/9.49  
% 69.13/9.49  % (16150)Memory used [KB]: 7164
% 69.13/9.49  % (16150)Time elapsed: 0.147 s
% 69.13/9.49  % (16150)Instructions burned: 360 (million)
% 69.13/9.49  % (16150)------------------------------
% 69.13/9.49  % (16150)------------------------------
% 69.13/9.50  % (16152)dis+10_1:1_cnfonf=lazy_gen:fe=off:plsq=on:plsqc=1:plsqr=32,1:prag=on:i=2573:si=on:rtra=on_0 on Vampire---4 for (2908ds/2573Mi)
% 69.13/9.50  % (16148)Instruction limit reached!
% 69.13/9.50  % (16148)------------------------------
% 69.13/9.50  % (16148)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 69.13/9.50  % (16148)Termination reason: Unknown
% 69.13/9.50  % (16148)Termination phase: Saturation
% 69.13/9.50  
% 69.13/9.50  % (16148)Memory used [KB]: 8827
% 69.13/9.50  % (16148)Time elapsed: 0.411 s
% 69.13/9.50  % (16148)Instructions burned: 1432 (million)
% 69.13/9.50  % (16148)------------------------------
% 69.13/9.50  % (16148)------------------------------
% 69.13/9.51  % (16154)dis+1002_16:1_apa=on:au=on:av=off:cnfonf=off:e2e=on:nm=0:nwc=10.0:i=2781:si=on:rtra=on_0 on Vampire---4 for (2908ds/2781Mi)
% 69.13/9.51  % (16153)lrs+10_1:1_av=off:bd=off:cnfonf=lazy_gen:fe=off:hud=10:plsq=on:plsqc=1:plsqr=32,1:tnu=1:i=2655:si=on:rtra=on_0 on Vampire---4 for (2908ds/2655Mi)
% 70.40/9.52  % (16155)lrs+1010_1:10_au=on:bd=off:cnfonf=lazy_pi_sigma_gen:sp=occurrence:i=307:si=on:rtra=on_0 on Vampire---4 for (2908ds/307Mi)
% 70.40/9.55  % (16142)Instruction limit reached!
% 70.40/9.55  % (16142)------------------------------
% 70.40/9.55  % (16142)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 70.40/9.55  % (16142)Termination reason: Unknown
% 70.40/9.55  % (16142)Termination phase: Saturation
% 70.40/9.55  
% 70.40/9.55  % (16142)Memory used [KB]: 10106
% 70.40/9.55  % (16142)Time elapsed: 1.065 s
% 70.40/9.55  % (16142)Instructions burned: 2813 (million)
% 70.40/9.55  % (16142)------------------------------
% 70.40/9.55  % (16142)------------------------------
% 70.40/9.57  % (16156)lrs+1010_1:1_avsq=on:avsqr=1,16:kws=inv_arity:nwc=5.0:sd=1:ss=axioms:i=1548:si=on:rtra=on_0 on Vampire---4 for (2908ds/1548Mi)
% 70.40/9.59  % (16156)Refutation not found, incomplete strategy
% 70.40/9.59  % (16156)------------------------------
% 70.40/9.59  % (16156)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 70.40/9.59  % (16156)Termination reason: Refutation not found, incomplete strategy
% 70.40/9.59  
% 70.40/9.59  
% 70.40/9.59  % (16156)Memory used [KB]: 6268
% 70.40/9.59  % (16156)Time elapsed: 0.026 s
% 70.40/9.59  % (16156)Instructions burned: 56 (million)
% 70.40/9.59  % (16156)------------------------------
% 70.40/9.59  % (16156)------------------------------
% 70.40/9.60  % (16155)Instruction limit reached!
% 70.40/9.60  % (16155)------------------------------
% 70.40/9.60  % (16155)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 70.40/9.60  % (16155)Termination reason: Unknown
% 70.40/9.60  % (16155)Termination phase: Saturation
% 70.40/9.60  
% 70.40/9.60  % (16155)Memory used [KB]: 6780
% 70.40/9.60  % (16155)Time elapsed: 0.078 s
% 70.40/9.60  % (16155)Instructions burned: 307 (million)
% 70.40/9.60  % (16155)------------------------------
% 70.40/9.60  % (16155)------------------------------
% 70.40/9.61  % (16158)dis+21_1:1_aac=none:bsr=on:nwc=3.0:s2a=on:i=3201:si=on:rtra=on_0 on Vampire---4 for (2907ds/3201Mi)
% 70.40/9.61  % (16157)lrs+10_1:3_alpa=true:hud=3:ins=1:ntd=on:plsq=on:plsqc=1:plsqr=32,1:prag=on:s2a=on:s2agt=10:i=5214:si=on:rtra=on_0 on Vampire---4 for (2907ds/5214Mi)
% 71.17/9.66  % (16144)Instruction limit reached!
% 71.17/9.66  % (16144)------------------------------
% 71.17/9.66  % (16144)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 71.17/9.66  % (16144)Termination reason: Unknown
% 71.17/9.66  % (16144)Termination phase: Saturation
% 71.17/9.66  
% 71.17/9.66  % (16144)Memory used [KB]: 8059
% 71.17/9.66  % (16144)Time elapsed: 1.010 s
% 71.17/9.66  % (16144)Instructions burned: 2678 (million)
% 71.17/9.66  % (16144)------------------------------
% 71.17/9.66  % (16144)------------------------------
% 71.17/9.68  % (16159)lrs+1010_1:1_chr=on:cnfonf=lazy_not_be_gen:gs=on:hud=5:plsq=on:plsqc=1:plsqr=5,1:prag=on:rawr=on:i=454:si=on:rtra=on_0 on Vampire---4 for (2907ds/454Mi)
% 72.12/9.81  % (16159)Instruction limit reached!
% 72.12/9.81  % (16159)------------------------------
% 72.12/9.81  % (16159)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 72.12/9.81  % (16159)Termination reason: Unknown
% 72.12/9.81  % (16159)Termination phase: Saturation
% 72.12/9.81  
% 72.12/9.81  % (16159)Memory used [KB]: 12025
% 72.12/9.81  % (16159)Time elapsed: 0.155 s
% 72.12/9.81  % (16159)Instructions burned: 454 (million)
% 72.12/9.81  % (16159)------------------------------
% 72.12/9.81  % (16159)------------------------------
% 72.12/9.83  % (16160)lrs+1002_1:32_au=on:ins=2:nm=16:ntd=on:piset=all_but_not_eq:sp=occurrence:i=3049:si=on:rtra=on_0 on Vampire---4 for (2905ds/3049Mi)
% 72.12/9.87  % (16160)Refutation not found, incomplete strategy
% 72.12/9.87  % (16160)------------------------------
% 72.12/9.87  % (16160)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 72.12/9.87  % (16160)Termination reason: Refutation not found, incomplete strategy
% 72.12/9.87  
% 72.12/9.87  
% 72.12/9.87  % (16160)Memory used [KB]: 6780
% 72.12/9.87  % (16160)Time elapsed: 0.048 s
% 72.12/9.87  % (16160)Instructions burned: 117 (million)
% 72.12/9.87  % (16160)------------------------------
% 72.12/9.87  % (16160)------------------------------
% 72.77/9.89  % (16161)lrs+1010_1:1_bd=preordered:cnfonf=off:e2e=on:kws=inv_precedence:lwlo=on:sd=2:ss=axioms:i=7311:si=on:rtra=on_0 on Vampire---4 for (2905ds/7311Mi)
% 72.77/9.90  % (16147)Instruction limit reached!
% 72.77/9.90  % (16147)------------------------------
% 72.77/9.90  % (16147)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 72.77/9.90  % (16147)Termination reason: Unknown
% 72.77/9.90  % (16147)Termination phase: Saturation
% 72.77/9.90  
% 72.77/9.90  % (16147)Memory used [KB]: 7803
% 72.77/9.90  % (16147)Time elapsed: 0.911 s
% 72.77/9.90  % (16147)Instructions burned: 2547 (million)
% 72.77/9.90  % (16147)------------------------------
% 72.77/9.90  % (16147)------------------------------
% 72.92/9.92  % (16162)lrs+1002_1:14_au=on:bd=off:e2e=on:fde=unused:sac=on:sos=on:i=6804:si=on:rtra=on_0 on Vampire---4 for (2904ds/6804Mi)
% 73.32/10.02  % (16162)Refutation not found, incomplete strategy
% 73.32/10.02  % (16162)------------------------------
% 73.32/10.02  % (16162)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 73.32/10.02  % (16162)Termination reason: Refutation not found, incomplete strategy
% 73.32/10.02  
% 73.32/10.02  
% 73.32/10.02  % (16162)Memory used [KB]: 8315
% 73.32/10.02  % (16162)Time elapsed: 0.104 s
% 73.32/10.02  % (16162)Instructions burned: 208 (million)
% 73.32/10.02  % (16162)------------------------------
% 73.32/10.02  % (16162)------------------------------
% 73.32/10.04  % (16163)dis+1003_1:1_au=on:bd=preordered:fde=none:ixr=off:nwc=10.0:i=1683:si=on:rtra=on_0 on Vampire---4 for (2903ds/1683Mi)
% 78.09/10.49  % (16154)Instruction limit reached!
% 78.09/10.49  % (16154)------------------------------
% 78.09/10.49  % (16154)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 78.09/10.49  % (16154)Termination reason: Unknown
% 78.09/10.49  % (16154)Termination phase: Saturation
% 78.09/10.49  
% 78.09/10.49  % (16154)Memory used [KB]: 6524
% 78.09/10.49  % (16154)Time elapsed: 0.991 s
% 78.09/10.49  % (16154)Instructions burned: 2781 (million)
% 78.09/10.49  % (16154)------------------------------
% 78.09/10.49  % (16154)------------------------------
% 78.09/10.50  % (16164)lrs+10_8:1_au=on:av=off:bd=off:cs=on:e2e=on:hfsq=on:hfsqc=50:hfsql=off:nm=0:i=4688:si=on:rtra=on_0 on Vampire---4 for (2898ds/4688Mi)
% 78.47/10.55  % (16152)Instruction limit reached!
% 78.47/10.55  % (16152)------------------------------
% 78.47/10.55  % (16152)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 78.47/10.55  % (16152)Termination reason: Unknown
% 78.47/10.55  % (16152)Termination phase: Saturation
% 78.47/10.55  
% 78.47/10.55  % (16152)Memory used [KB]: 9850
% 78.47/10.55  % (16152)Time elapsed: 1.053 s
% 78.47/10.55  % (16152)Instructions burned: 2574 (million)
% 78.47/10.55  % (16152)------------------------------
% 78.47/10.55  % (16152)------------------------------
% 78.47/10.57  % (16165)dis-1_1:1_amm=off:au=on:cbe=off:spb=intro:i=2207:si=on:rtra=on_0 on Vampire---4 for (2898ds/2207Mi)
% 78.93/10.67  % (16153)Instruction limit reached!
% 78.93/10.67  % (16153)------------------------------
% 78.93/10.67  % (16153)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 78.93/10.67  % (16153)Termination reason: Unknown
% 78.93/10.67  % (16153)Termination phase: Saturation
% 78.93/10.67  
% 78.93/10.67  % (16153)Memory used [KB]: 12025
% 78.93/10.67  % (16153)Time elapsed: 1.179 s
% 78.93/10.67  % (16153)Instructions burned: 2655 (million)
% 78.93/10.67  % (16153)------------------------------
% 78.93/10.67  % (16153)------------------------------
% 79.33/10.69  % (16166)dis+1010_1:4_atotf=0.2:c=on:cbe=off:cnfonf=lazy_simp:fe=off:ins=2:ntd=on:s2a=on:s2at=5.0:sgt=5:ss=axioms:st=1.5:i=8216:si=on:rtra=on_0 on Vampire---4 for (2897ds/8216Mi)
% 80.72/10.85  % (16163)Instruction limit reached!
% 80.72/10.85  % (16163)------------------------------
% 80.72/10.85  % (16163)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 80.72/10.85  % (16163)Termination reason: Unknown
% 80.72/10.85  % (16163)Termination phase: Saturation
% 80.72/10.85  
% 80.72/10.85  % (16163)Memory used [KB]: 13688
% 80.72/10.85  % (16163)Time elapsed: 0.814 s
% 80.72/10.85  % (16163)Instructions burned: 1684 (million)
% 80.72/10.85  % (16163)------------------------------
% 80.72/10.85  % (16163)------------------------------
% 80.72/10.87  % (16167)lrs+1010_1:1_atotf=0.5:au=on:cbe=off:cnfonf=lazy_not_be_gen:fe=off:nwc=5.0:spb=units:i=430:si=on:rtra=on_0 on Vampire---4 for (2895ds/430Mi)
% 81.81/11.02  % (16167)Instruction limit reached!
% 81.81/11.02  % (16167)------------------------------
% 81.81/11.02  % (16167)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 81.81/11.02  % (16167)Termination reason: Unknown
% 81.81/11.02  % (16167)Termination phase: Saturation
% 81.81/11.02  
% 81.81/11.02  % (16167)Memory used [KB]: 7036
% 81.81/11.02  % (16167)Time elapsed: 0.157 s
% 81.81/11.02  % (16167)Instructions burned: 430 (million)
% 81.81/11.02  % (16167)------------------------------
% 81.81/11.02  % (16167)------------------------------
% 81.81/11.04  % (16168)lrs+1004_1:1_cnfonf=lazy_pi_sigma_gen:fe=off:gs=on:hud=10:prag=on:tnu=1:i=2012:si=on:rtra=on_0 on Vampire---4 for (2893ds/2012Mi)
% 82.43/11.09  % (16158)Instruction limit reached!
% 82.43/11.09  % (16158)------------------------------
% 82.43/11.09  % (16158)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 82.43/11.09  % (16158)Termination reason: Unknown
% 82.43/11.09  % (16158)Termination phase: Saturation
% 82.43/11.09  
% 82.43/11.09  % (16158)Memory used [KB]: 12025
% 82.43/11.09  % (16158)Time elapsed: 1.479 s
% 82.43/11.09  % (16158)Instructions burned: 3201 (million)
% 82.43/11.09  % (16158)------------------------------
% 82.43/11.09  % (16158)------------------------------
% 82.75/11.11  % (16169)ott+1010_1:32_apa=on:atotf=0.3:au=on:c=on:cnfonf=off:fe=off:fsr=off:nm=6:piset=or:sac=on:sos=on:i=631:si=on:rtra=on_0 on Vampire---4 for (2892ds/631Mi)
% 83.85/11.30  % (16169)Instruction limit reached!
% 83.85/11.30  % (16169)------------------------------
% 83.85/11.30  % (16169)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 83.85/11.30  % (16169)Termination reason: Unknown
% 83.85/11.30  % (16169)Termination phase: Saturation
% 83.85/11.30  
% 83.85/11.30  % (16169)Memory used [KB]: 7291
% 83.85/11.30  % (16169)Time elapsed: 0.181 s
% 83.85/11.30  % (16169)Instructions burned: 632 (million)
% 83.85/11.30  % (16169)------------------------------
% 83.85/11.30  % (16169)------------------------------
% 83.85/11.31  % (16170)dis+2_1:1_bd=off:e2e=on:hud=1:nm=3:piset=or:prag=on:s2a=on:sp=const_max:i=8785:si=on:rtra=on_0 on Vampire---4 for (2890ds/8785Mi)
% 86.47/11.57  % (16165)Instruction limit reached!
% 86.47/11.57  % (16165)------------------------------
% 86.47/11.57  % (16165)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 86.47/11.57  % (16165)Termination reason: Unknown
% 86.47/11.57  % (16165)Termination phase: Saturation
% 86.47/11.57  
% 86.47/11.57  % (16165)Memory used [KB]: 9594
% 86.47/11.57  % (16165)Time elapsed: 1.026 s
% 86.47/11.57  % (16165)Instructions burned: 2207 (million)
% 86.47/11.57  % (16165)------------------------------
% 86.47/11.57  % (16165)------------------------------
% 86.47/11.59  % (16171)lrs-1002_1:128_abs=on:bd=preordered:cbe=off:e2e=on:fde=unused:fe=off:tgt=full:i=739:si=on:rtra=on_0 on Vampire---4 for (2888ds/739Mi)
% 88.98/11.92  % (16168)Instruction limit reached!
% 88.98/11.92  % (16168)------------------------------
% 88.98/11.92  % (16168)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 88.98/11.92  % (16168)Termination reason: Unknown
% 88.98/11.92  % (16168)Termination phase: Saturation
% 88.98/11.92  
% 88.98/11.92  % (16168)Memory used [KB]: 23794
% 88.98/11.92  % (16168)Time elapsed: 0.890 s
% 88.98/11.92  % (16168)Instructions burned: 2013 (million)
% 88.98/11.92  % (16168)------------------------------
% 88.98/11.92  % (16168)------------------------------
% 88.98/11.95  % (16172)dis+1002_1:1024_fe=off:hud=5:prag=on:i=5473:si=on:rtra=on_0 on Vampire---4 for (2884ds/5473Mi)
% 89.60/12.00  % (16171)Instruction limit reached!
% 89.60/12.00  % (16171)------------------------------
% 89.60/12.00  % (16171)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 89.60/12.00  % (16171)Termination reason: Unknown
% 89.60/12.00  % (16171)Termination phase: Saturation
% 89.60/12.00  
% 89.60/12.00  % (16171)Memory used [KB]: 10874
% 89.60/12.00  % (16171)Time elapsed: 0.420 s
% 89.60/12.00  % (16171)Instructions burned: 739 (million)
% 89.60/12.00  % (16171)------------------------------
% 89.60/12.00  % (16171)------------------------------
% 89.79/12.02  % (16173)lrs+1002_1:1_au=on:bd=off:e2e=on:sd=2:sos=on:ss=axioms:i=43570:si=on:rtra=on_0 on Vampire---4 for (2883ds/43570Mi)
% 89.79/12.02  % (16151)Instruction limit reached!
% 89.79/12.02  % (16151)------------------------------
% 89.79/12.02  % (16151)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 89.79/12.02  % (16151)Termination reason: Unknown
% 89.79/12.02  % (16151)Termination phase: Saturation
% 89.79/12.02  
% 89.79/12.02  % (16151)Memory used [KB]: 17654
% 89.79/12.02  % (16151)Time elapsed: 2.558 s
% 89.79/12.02  % (16151)Instructions burned: 5447 (million)
% 89.79/12.02  % (16151)------------------------------
% 89.79/12.02  % (16151)------------------------------
% 89.86/12.04  % (16173)Refutation not found, incomplete strategy
% 89.86/12.04  % (16173)------------------------------
% 89.86/12.04  % (16173)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 89.86/12.04  % (16173)Termination reason: Refutation not found, incomplete strategy
% 89.86/12.04  
% 89.86/12.04  
% 89.86/12.04  % (16173)Memory used [KB]: 6396
% 89.86/12.04  % (16173)Time elapsed: 0.049 s
% 89.86/12.04  % (16173)Instructions burned: 52 (million)
% 89.86/12.04  % (16173)------------------------------
% 89.86/12.04  % (16173)------------------------------
% 89.86/12.05  % (16174)dis+1010_2:3_amm=off:fd=preordered:ixr=off:nm=0:pe=on:piset=equals:prag=on:sac=on:tgt=ground:i=8382:si=on:rtra=on_0 on Vampire---4 for (2883ds/8382Mi)
% 89.86/12.05  % (16175)dis-30_1:1_acc=on:bd=off:fsr=off:plsq=on:plsqr=32,1:i=407:si=on:rtra=on_0 on Vampire---4 for (2883ds/407Mi)
% 89.86/12.10  % (16157)Instruction limit reached!
% 89.86/12.10  % (16157)------------------------------
% 89.86/12.10  % (16157)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 89.86/12.10  % (16157)Termination reason: Unknown
% 89.86/12.10  % (16157)Termination phase: Saturation
% 89.86/12.10  
% 89.86/12.10  % (16157)Memory used [KB]: 13688
% 89.86/12.10  % (16157)Time elapsed: 2.497 s
% 89.86/12.10  % (16157)Instructions burned: 5216 (million)
% 89.86/12.10  % (16157)------------------------------
% 89.86/12.10  % (16157)------------------------------
% 90.32/12.12  % (16176)lrs+10_1:50_cbe=off:cnfonf=lazy_pi_sigma_gen:fe=off:hud=5:plsq=on:plsqr=1,32:sos=all:i=2971:si=on:rtra=on_0 on Vampire---4 for (2882ds/2971Mi)
% 90.63/12.22  % (16175)Instruction limit reached!
% 90.63/12.22  % (16175)------------------------------
% 90.63/12.22  % (16175)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 90.63/12.22  % (16175)Termination reason: Unknown
% 90.63/12.22  % (16175)Termination phase: Saturation
% 90.63/12.22  
% 90.63/12.22  % (16175)Memory used [KB]: 7291
% 90.63/12.22  % (16175)Time elapsed: 0.186 s
% 90.63/12.22  % (16175)Instructions burned: 408 (million)
% 90.63/12.22  % (16175)------------------------------
% 90.63/12.22  % (16175)------------------------------
% 90.63/12.24  % (16177)lrs+1002_1:1_aac=none:bd=off:e2e=on:fde=none:fe=off:piset=or:prag=on:rawr=on:sos=on:updr=off:i=9822:si=on:rtra=on_0 on Vampire---4 for (2881ds/9822Mi)
% 91.72/12.45  % (16164)Refutation not found, non-redundant clauses discarded% (16164)------------------------------
% 91.72/12.45  % (16164)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 91.72/12.45  % (16164)Termination reason: Refutation not found, non-redundant clauses discarded
% 91.72/12.45  
% 91.72/12.45  % (16164)Memory used [KB]: 6012
% 91.72/12.45  % (16164)Time elapsed: 1.956 s
% 91.72/12.45  % (16164)Instructions burned: 4211 (million)
% 91.72/12.45  % (16164)------------------------------
% 91.72/12.45  % (16164)------------------------------
% 91.72/12.47  % (16178)dis+10_5:1_av=off:ntd=on:s2a=on:s2at=3.0:sgt=16:sp=unary_frequency:ss=axioms:i=8425:si=on:rtra=on_0 on Vampire---4 for (2879ds/8425Mi)
% 97.65/13.07  % (16161)Refutation not found, non-redundant clauses discarded% (16161)------------------------------
% 97.65/13.07  % (16161)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 97.65/13.07  % (16161)Termination reason: Refutation not found, non-redundant clauses discarded
% 97.65/13.07  
% 97.65/13.07  % (16161)Memory used [KB]: 20084
% 97.65/13.07  % (16161)Time elapsed: 3.191 s
% 97.65/13.07  % (16161)Instructions burned: 7072 (million)
% 97.65/13.07  % (16161)------------------------------
% 97.65/13.07  % (16161)------------------------------
% 97.65/13.10  % (16179)lrs+30_1:1_aac=none:au=on:cbe=off:cs=on:nm=2:rawr=on:sos=on:i=3107:si=on:rtra=on_0 on Vampire---4 for (2872ds/3107Mi)
% 101.63/13.51  % (16176)Instruction limit reached!
% 101.63/13.51  % (16176)------------------------------
% 101.63/13.51  % (16176)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 101.63/13.51  % (16176)Termination reason: Unknown
% 101.63/13.51  % (16176)Termination phase: Saturation
% 101.63/13.51  
% 101.63/13.51  % (16176)Memory used [KB]: 11897
% 101.63/13.51  % (16176)Time elapsed: 1.424 s
% 101.63/13.51  % (16176)Instructions burned: 2971 (million)
% 101.63/13.51  % (16176)------------------------------
% 101.63/13.51  % (16176)------------------------------
% 101.63/13.53  % (16180)lrs+1002_1:128_aac=none:au=on:cnfonf=lazy_not_gen_be_off:sos=all:i=7967:si=on:rtra=on_0 on Vampire---4 for (2868ds/7967Mi)
% 106.49/14.16  % (16179)Instruction limit reached!
% 106.49/14.16  % (16179)------------------------------
% 106.49/14.16  % (16179)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 106.49/14.16  % (16179)Termination reason: Unknown
% 106.49/14.16  % (16179)Termination phase: Saturation
% 106.49/14.16  
% 106.49/14.16  % (16179)Memory used [KB]: 10106
% 106.49/14.16  % (16179)Time elapsed: 1.054 s
% 106.49/14.16  % (16179)Instructions burned: 3107 (million)
% 106.49/14.16  % (16179)------------------------------
% 106.49/14.16  % (16179)------------------------------
% 106.49/14.17  % (16181)lrs+1010_10:959_abs=on:acc=on:bd=off:ccuc=small_ones:cha=on:cnfonf=lazy_simp:fd=preordered:fe=off:hud=3:ile=on:kws=inv_frequency:nm=2:piset=and:sd=5:sp=frequency:spb=goal_then_units:ss=axioms:st=4.5:i=3629:si=on:rtra=on_0 on Vampire---4 for (2862ds/3629Mi)
% 109.67/14.54  % (16166)Instruction limit reached!
% 109.67/14.54  % (16166)------------------------------
% 109.67/14.54  % (16166)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 109.67/14.54  % (16166)Termination reason: Unknown
% 109.67/14.54  % (16166)Termination phase: Saturation
% 109.67/14.54  
% 109.67/14.54  % (16166)Memory used [KB]: 14328
% 109.67/14.54  % (16166)Time elapsed: 3.872 s
% 109.67/14.54  % (16166)Instructions burned: 8217 (million)
% 109.67/14.54  % (16166)------------------------------
% 109.67/14.54  % (16166)------------------------------
% 109.67/14.55  % (16182)lrs+1010_1:1024_au=on:fe=axiom:lwlo=on:nm=0:ntd=on:nwc=10.0:spb=non_intro:uhcvi=on:i=939:si=on:rtra=on_0 on Vampire---4 for (2858ds/939Mi)
% 109.67/14.57  % (16172)Instruction limit reached!
% 109.67/14.57  % (16172)------------------------------
% 109.67/14.57  % (16172)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 109.67/14.57  % (16172)Termination reason: Unknown
% 109.67/14.57  % (16172)Termination phase: Saturation
% 109.67/14.57  
% 109.67/14.57  % (16172)Memory used [KB]: 11897
% 109.67/14.57  % (16172)Time elapsed: 2.649 s
% 109.67/14.57  % (16172)Instructions burned: 5473 (million)
% 109.67/14.57  % (16172)------------------------------
% 109.67/14.57  % (16172)------------------------------
% 109.98/14.58  % (16183)dis+1666_14:1_cnfonf=lazy_gen:fe=off:hud=10:piset=all_but_not_eq:prag=on:sp=const_max:i=1188:si=on:rtra=on_0 on Vampire---4 for (2858ds/1188Mi)
% 113.01/14.98  % (16182)Refutation not found, non-redundant clauses discarded% (16182)------------------------------
% 113.01/14.98  % (16182)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 113.01/14.98  % (16182)Termination reason: Refutation not found, non-redundant clauses discarded
% 113.01/14.98  
% 113.01/14.98  % (16182)Memory used [KB]: 8443
% 113.01/14.99  % (16182)Time elapsed: 0.435 s
% 113.01/14.99  % (16182)Instructions burned: 924 (million)
% 113.01/14.99  % (16182)------------------------------
% 113.01/14.99  % (16182)------------------------------
% 113.25/15.00  % (16184)dis+21_3:2_avsq=on:cbe=off:e2e=on:flr=on:ile=on:nwc=5.0:piset=or:rawr=on:sp=occurrence:i=3205:si=on:rtra=on_0 on Vampire---4 for (2853ds/3205Mi)
% 113.73/15.07  % (16170)Instruction limit reached!
% 113.73/15.07  % (16170)------------------------------
% 113.73/15.07  % (16170)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 113.73/15.07  % (16170)Termination reason: Unknown
% 113.73/15.07  % (16170)Termination phase: Saturation
% 113.73/15.07  
% 113.73/15.07  % (16170)Memory used [KB]: 22899
% 113.73/15.07  % (16170)Time elapsed: 3.766 s
% 113.73/15.07  % (16170)Instructions burned: 8785 (million)
% 113.73/15.07  % (16170)------------------------------
% 113.73/15.07  % (16170)------------------------------
% 113.73/15.07  % (16183)Instruction limit reached!
% 113.73/15.07  % (16183)------------------------------
% 113.73/15.07  % (16183)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 113.73/15.07  % (16183)Termination reason: Unknown
% 113.73/15.07  % (16183)Termination phase: Saturation
% 113.73/15.07  
% 113.73/15.07  % (16183)Memory used [KB]: 7419
% 113.73/15.07  % (16183)Time elapsed: 0.491 s
% 113.73/15.07  % (16183)Instructions burned: 1188 (million)
% 113.73/15.07  % (16183)------------------------------
% 113.73/15.07  % (16183)------------------------------
% 113.73/15.09  % (16186)ott+1002_1:1_au=on:bd=off:cbe=off:cha=on:cnfonf=lazy_pi_sigma_gen:fd=off:fe=off:ntd=on:sp=const_frequency:i=7469:si=on:rtra=on_0 on Vampire---4 for (2853ds/7469Mi)
% 113.73/15.09  % (16185)lrs+1010_1:1_cnfonf=off:ntd=on:nwc=3.0:s2a=on:sp=const_frequency:i=865:si=on:rtra=on_0 on Vampire---4 for (2853ds/865Mi)
% 114.07/15.14  % (16185)Refutation not found, incomplete strategy
% 114.07/15.14  % (16185)------------------------------
% 114.07/15.14  % (16185)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 114.07/15.14  % (16185)Termination reason: Refutation not found, incomplete strategy
% 114.07/15.14  
% 114.07/15.14  
% 114.07/15.14  % (16185)Memory used [KB]: 6780
% 114.07/15.14  % (16185)Time elapsed: 0.049 s
% 114.07/15.14  % (16185)Instructions burned: 116 (million)
% 114.07/15.14  % (16185)------------------------------
% 114.07/15.14  % (16185)------------------------------
% 114.37/15.16  % (16187)dis+10_1:10_bd=preordered:e2e=on:fde=none:fe=axiom:hud=3:kws=precedence:nwc=3.0:prag=on:sp=const_max:tgt=full:i=4165:si=on:rtra=on_0 on Vampire---4 for (2852ds/4165Mi)
% 117.02/15.52  % (16178)Instruction limit reached!
% 117.02/15.52  % (16178)------------------------------
% 117.02/15.52  % (16178)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 117.02/15.52  % (16178)Termination reason: Unknown
% 117.02/15.52  % (16178)Termination phase: Saturation
% 117.02/15.52  
% 117.02/15.52  % (16178)Memory used [KB]: 12409
% 117.02/15.52  % (16178)Time elapsed: 3.050 s
% 117.02/15.52  % (16178)Instructions burned: 8425 (million)
% 117.02/15.52  % (16178)------------------------------
% 117.02/15.52  % (16178)------------------------------
% 117.02/15.53  % (16188)dis+1010_1:1_au=on:avsq=on:cnfonf=lazy_simp:fsr=off:ntd=on:nwc=10.0:sp=reverse_frequency:ss=axioms:st=1.5:i=13468:si=on:rtra=on_0 on Vampire---4 for (2848ds/13468Mi)
% 118.90/15.75  % (16174)Instruction limit reached!
% 118.90/15.75  % (16174)------------------------------
% 118.90/15.75  % (16174)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 118.90/15.75  % (16174)Termination reason: Unknown
% 118.90/15.75  % (16174)Termination phase: Saturation
% 118.90/15.75  
% 118.90/15.75  % (16174)Memory used [KB]: 18933
% 118.90/15.75  % (16174)Time elapsed: 3.740 s
% 118.90/15.75  % (16174)Instructions burned: 8382 (million)
% 118.90/15.75  % (16174)------------------------------
% 118.90/15.75  % (16174)------------------------------
% 118.90/15.77  % (16189)dis+1002_1:1_au=on:bsr=unit_only:cbe=off:fe=off:fsr=off:nm=10:nwc=6.0:plsq=on:plsqc=1:plsqr=32,1:sos=all:i=2635:si=on:rtra=on_0 on Vampire---4 for (2846ds/2635Mi)
% 119.28/15.83  % (16181)Instruction limit reached!
% 119.28/15.83  % (16181)------------------------------
% 119.28/15.83  % (16181)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 119.28/15.83  % (16181)Termination reason: Unknown
% 119.28/15.83  % (16181)Termination phase: Saturation
% 119.28/15.83  
% 119.28/15.83  % (16181)Memory used [KB]: 12409
% 119.28/15.83  % (16181)Time elapsed: 1.659 s
% 119.28/15.83  % (16181)Instructions burned: 3629 (million)
% 119.28/15.83  % (16181)------------------------------
% 119.28/15.83  % (16181)------------------------------
% 119.28/15.85  % (16190)dis+1010_1:4_avsq=on:avsqr=16,1:bet=on:cbe=off:cnfonf=lazy_not_be_gen:hud=5:plsq=on:plsqc=1:plsqr=32,1:prag=on:i=631:si=on:rtra=on_0 on Vampire---4 for (2845ds/631Mi)
% 120.54/16.07  % (16190)Instruction limit reached!
% 120.54/16.07  % (16190)------------------------------
% 120.54/16.07  % (16190)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 120.54/16.07  % (16190)Termination reason: Unknown
% 120.54/16.07  % (16190)Termination phase: Saturation
% 120.54/16.07  
% 120.54/16.07  % (16190)Memory used [KB]: 7419
% 120.54/16.07  % (16190)Time elapsed: 0.228 s
% 120.54/16.07  % (16190)Instructions burned: 633 (million)
% 120.54/16.07  % (16190)------------------------------
% 120.54/16.07  % (16190)------------------------------
% 120.54/16.08  % (16193)lrs+1002_1:1_aac=none:au=on:cnfonf=lazy_gen:plsq=on:plsqc=1:plsqr=4203469,65536:i=15557:si=on:rtra=on_0 on Vampire---4 for (2843ds/15557Mi)
% 123.71/16.34  % (16184)Instruction limit reached!
% 123.71/16.34  % (16184)------------------------------
% 123.71/16.34  % (16184)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 123.71/16.34  % (16184)Termination reason: Unknown
% 123.71/16.34  % (16184)Termination phase: Saturation
% 123.71/16.34  
% 123.71/16.34  % (16184)Memory used [KB]: 18677
% 123.71/16.34  % (16184)Time elapsed: 1.343 s
% 123.71/16.34  % (16184)Instructions burned: 3207 (million)
% 123.71/16.34  % (16184)------------------------------
% 123.71/16.34  % (16184)------------------------------
% 123.71/16.37  % (16194)dis+1002_1:1_au=on:sac=on:sd=5:slsq=on:slsqr=1,4:ss=axioms:st=2.0:i=2142:si=on:rtra=on_0 on Vampire---4 for (2840ds/2142Mi)
% 125.28/16.58  % (16177)Instruction limit reached!
% 125.28/16.58  % (16177)------------------------------
% 125.28/16.58  % (16177)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 125.28/16.58  % (16177)Termination reason: Unknown
% 125.28/16.58  % (16177)Termination phase: Saturation
% 125.28/16.58  
% 125.28/16.58  % (16177)Memory used [KB]: 23666
% 125.28/16.58  % (16177)Time elapsed: 4.376 s
% 125.28/16.58  % (16177)Instructions burned: 9822 (million)
% 125.28/16.58  % (16177)------------------------------
% 125.28/16.58  % (16177)------------------------------
% 125.28/16.61  % (16195)dis+1002_1:1_aac=none:au=on:bd=off:cnfonf=conj_eager:nwc=5.0:sgt=5:sp=reverse_arity:ss=axioms:i=5624:si=on:rtra=on_0 on Vampire---4 for (2837ds/5624Mi)
% 127.52/16.83  % (16189)Instruction limit reached!
% 127.52/16.83  % (16189)------------------------------
% 127.52/16.83  % (16189)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 127.52/16.83  % (16189)Termination reason: Unknown
% 127.52/16.83  % (16189)Termination phase: Saturation
% 127.52/16.83  
% 127.52/16.83  % (16189)Memory used [KB]: 11641
% 127.52/16.83  % (16189)Time elapsed: 1.069 s
% 127.52/16.83  % (16189)Instructions burned: 2636 (million)
% 127.52/16.83  % (16189)------------------------------
% 127.52/16.83  % (16189)------------------------------
% 127.52/16.84  % (16196)lrs+1010_1:1_au=on:cbe=off:cnfonf=lazy_not_be_gen:ntd=on:pe=on:i=1665:si=on:rtra=on_0 on Vampire---4 for (2835ds/1665Mi)
% 127.52/16.87  % (16187)Instruction limit reached!
% 127.52/16.87  % (16187)------------------------------
% 127.52/16.87  % (16187)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 127.52/16.87  % (16187)Termination reason: Unknown
% 127.52/16.87  % (16187)Termination phase: Saturation
% 127.52/16.87  
% 127.52/16.87  % (16187)Memory used [KB]: 22515
% 127.52/16.87  % (16187)Time elapsed: 1.740 s
% 127.52/16.87  % (16187)Instructions burned: 4165 (million)
% 127.52/16.87  % (16187)------------------------------
% 127.52/16.87  % (16187)------------------------------
% 128.25/16.89  % (16197)dis+1002_1:1_av=off:prag=on:sd=1:sos=on:sp=occurrence:ss=axioms:i=64912:si=on:rtra=on_0 on Vampire---4 for (2835ds/64912Mi)
% 128.36/16.92  % (16197)Refutation not found, incomplete strategy
% 128.36/16.92  % (16197)------------------------------
% 128.36/16.92  % (16197)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 128.36/16.92  % (16197)Termination reason: Refutation not found, incomplete strategy
% 128.36/16.92  
% 128.36/16.92  
% 128.36/16.92  % (16197)Memory used [KB]: 1791
% 128.36/16.92  % (16197)Time elapsed: 0.025 s
% 128.36/16.92  % (16197)Instructions burned: 56 (million)
% 128.36/16.92  % (16197)------------------------------
% 128.36/16.92  % (16197)------------------------------
% 128.36/16.93  % (16198)lrs+10_1:32_atotf=0.1:avsq=on:bsr=on:cnfonf=lazy_gen:fde=unused:i=7801:si=on:rtra=on_0 on Vampire---4 for (2834ds/7801Mi)
% 129.49/17.13  % (16180)Instruction limit reached!
% 129.49/17.13  % (16180)------------------------------
% 129.49/17.13  % (16180)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 129.49/17.13  % (16180)Termination reason: Unknown
% 129.49/17.13  % (16180)Termination phase: Saturation
% 129.49/17.13  
% 129.49/17.13  % (16180)Memory used [KB]: 11897
% 129.49/17.13  % (16180)Time elapsed: 3.608 s
% 129.49/17.13  % (16180)Instructions burned: 7968 (million)
% 129.49/17.13  % (16180)------------------------------
% 129.49/17.13  % (16180)------------------------------
% 129.49/17.15  % (16199)ott+2_1:1_au=on:hfsq=on:hfsqc=5:hfsql=off:nwc=5.0:sd=3:ss=axioms:st=5.0:i=15194:si=on:rtra=on_0 on Vampire---4 for (2832ds/15194Mi)
% 130.97/17.25  % (16196)Refutation not found, non-redundant clauses discarded% (16196)------------------------------
% 130.97/17.25  % (16196)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 130.97/17.25  % (16196)Termination reason: Refutation not found, non-redundant clauses discarded
% 130.97/17.25  
% 130.97/17.25  % (16196)Memory used [KB]: 7675
% 130.97/17.25  % (16196)Time elapsed: 0.413 s
% 130.97/17.25  % (16196)Instructions burned: 1065 (million)
% 130.97/17.25  % (16196)------------------------------
% 130.97/17.25  % (16196)------------------------------
% 130.97/17.26  % (16194)Instruction limit reached!
% 130.97/17.26  % (16194)------------------------------
% 130.97/17.26  % (16194)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 130.97/17.26  % (16194)Termination reason: Unknown
% 130.97/17.26  % (16194)Termination phase: Saturation
% 130.97/17.26  
% 130.97/17.26  % (16194)Memory used [KB]: 9466
% 130.97/17.26  % (16194)Time elapsed: 0.921 s
% 130.97/17.26  % (16194)Instructions burned: 2143 (million)
% 130.97/17.26  % (16194)------------------------------
% 130.97/17.26  % (16194)------------------------------
% 130.97/17.27  % (16201)lrs+1002_1:28_bd=off:cnfonf=lazy_simp:plsq=on:plsqr=1,1:prag=on:i=1003:si=on:rtra=on_0 on Vampire---4 for (2831ds/1003Mi)
% 130.97/17.28  % (16200)dis-1002_1:1_alpa=false:apa=on:au=on:bd=off:cnfonf=off:e2e=on:er=filter:fde=unused:plsq=on:plsqr=9699663,1048576:s2a=on:sos=on:sp=unary_first:i=6753:si=on:rtra=on_0 on Vampire---4 for (2831ds/6753Mi)
% 131.60/17.39  % (16200)Refutation not found, incomplete strategy
% 131.60/17.39  % (16200)------------------------------
% 131.60/17.39  % (16200)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 131.60/17.39  % (16200)Termination reason: Refutation not found, incomplete strategy
% 131.60/17.39  
% 131.60/17.39  
% 131.60/17.39  % (16200)Memory used [KB]: 8315
% 131.60/17.39  % (16200)Time elapsed: 0.138 s
% 131.60/17.39  % (16200)Instructions burned: 236 (million)
% 131.60/17.39  % (16200)------------------------------
% 131.60/17.39  % (16200)------------------------------
% 132.08/17.40  % (16202)ott-21_5:4_atotf=0.3:e2e=on:hud=15:ins=1:plsq=on:plsqc=1:plsqr=32,1:sp=unary_frequency:tnu=2:i=13018:si=on:rtra=on_0 on Vampire---4 for (2830ds/13018Mi)
% 133.87/17.71  % (16201)Instruction limit reached!
% 133.87/17.71  % (16201)------------------------------
% 133.87/17.71  % (16201)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 133.87/17.71  % (16201)Termination reason: Unknown
% 133.87/17.71  % (16201)Termination phase: Saturation
% 133.87/17.71  
% 133.87/17.71  % (16201)Memory used [KB]: 7931
% 133.87/17.71  % (16201)Time elapsed: 0.446 s
% 133.87/17.71  % (16201)Instructions burned: 1004 (million)
% 133.87/17.71  % (16201)------------------------------
% 133.87/17.71  % (16201)------------------------------
% 133.87/17.74  % (16203)dis+10_1:4_atotf=0.1:avsq=on:bsr=unit_only:e2e=on:sd=1:sp=const_max:ss=axioms:i=1267:si=on:rtra=on_0 on Vampire---4 for (2826ds/1267Mi)
% 134.72/17.76  % (16203)Refutation not found, incomplete strategy
% 134.72/17.76  % (16203)------------------------------
% 134.72/17.76  % (16203)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 134.72/17.76  % (16203)Termination reason: Refutation not found, incomplete strategy
% 134.72/17.76  
% 134.72/17.76  
% 134.72/17.76  % (16203)Memory used [KB]: 6268
% 134.72/17.76  % (16203)Time elapsed: 0.056 s
% 134.72/17.76  % (16203)Instructions burned: 28 (million)
% 134.72/17.76  % (16203)------------------------------
% 134.72/17.76  % (16203)------------------------------
% 134.72/17.78  % (16204)lrs+10_1:20_au=on:c=on:cbe=off:cnfonf=lazy_gen:ins=1:plsq=on:plsqc=1:plsqr=46,31:sac=on:i=2570:si=on:rtra=on_0 on Vampire---4 for (2826ds/2570Mi)
% 142.32/18.70  % (16186)Instruction limit reached!
% 142.32/18.70  % (16186)------------------------------
% 142.32/18.70  % (16186)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 142.32/18.70  % (16186)Termination reason: Unknown
% 142.32/18.70  % (16186)Termination phase: Saturation
% 142.32/18.70  
% 142.32/18.70  % (16186)Memory used [KB]: 29295
% 142.32/18.70  % (16186)Time elapsed: 3.610 s
% 142.32/18.70  % (16186)Instructions burned: 7469 (million)
% 142.32/18.70  % (16186)------------------------------
% 142.32/18.70  % (16186)------------------------------
% 142.32/18.72  % (16205)lrs+1004_1:128_cond=on:e2e=on:sp=weighted_frequency:i=13163:si=on:rtra=on_0 on Vampire---4 for (2816ds/13163Mi)
% 142.79/18.75  % (16204)Instruction limit reached!
% 142.79/18.75  % (16204)------------------------------
% 142.79/18.75  % (16204)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 142.79/18.75  % (16204)Termination reason: Unknown
% 142.79/18.75  % (16204)Termination phase: Saturation
% 142.79/18.75  
% 142.79/18.75  % (16204)Memory used [KB]: 8315
% 142.79/18.75  % (16204)Time elapsed: 0.980 s
% 142.79/18.75  % (16204)Instructions burned: 2571 (million)
% 142.79/18.75  % (16204)------------------------------
% 142.79/18.75  % (16204)------------------------------
% 142.91/18.77  % (16206)lrs+1666_1:1_au=on:s2a=on:sd=2:ss=axioms:st=5.0:i=5087:si=on:rtra=on_0 on Vampire---4 for (2816ds/5087Mi)
% 145.19/19.11  % (16195)Instruction limit reached!
% 145.19/19.11  % (16195)------------------------------
% 145.19/19.11  % (16195)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 145.19/19.11  % (16195)Termination reason: Unknown
% 145.19/19.11  % (16195)Termination phase: Saturation
% 145.19/19.11  
% 145.19/19.11  % (16195)Memory used [KB]: 13432
% 145.19/19.11  % (16195)Time elapsed: 2.511 s
% 145.19/19.11  % (16195)Instructions burned: 5624 (million)
% 145.19/19.11  % (16195)------------------------------
% 145.19/19.11  % (16195)------------------------------
% 145.19/19.12  % (16207)lrs+1002_1:1_aac=none:au=on:bd=off:cnfonf=lazy_pi_sigma_gen:s2a=on:sac=on:sd=1:sgt=20:ss=axioms:i=10380:si=on:rtra=on_0 on Vampire---4 for (2812ds/10380Mi)
% 145.87/19.15  % (16207)Refutation not found, incomplete strategy
% 145.87/19.15  % (16207)------------------------------
% 145.87/19.15  % (16207)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 145.87/19.15  % (16207)Termination reason: Refutation not found, incomplete strategy
% 145.87/19.15  
% 145.87/19.15  
% 145.87/19.15  % (16207)Memory used [KB]: 6524
% 145.87/19.15  % (16207)Time elapsed: 0.054 s
% 145.87/19.15  % (16207)Instructions burned: 104 (million)
% 145.87/19.15  % (16207)------------------------------
% 145.87/19.15  % (16207)------------------------------
% 145.87/19.16  % (16208)lrs+2_1:1_bd=off:cbe=off:piset=equals:sd=1:sgt=20:sos=all:ss=axioms:i=4218:si=on:rtra=on_0 on Vampire---4 for (2812ds/4218Mi)
% 145.87/19.18  % (16208)Refutation not found, incomplete strategy
% 145.87/19.18  % (16208)------------------------------
% 145.87/19.18  % (16208)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 145.87/19.18  % (16208)Termination reason: Refutation not found, incomplete strategy
% 145.87/19.18  
% 145.87/19.18  
% 145.87/19.18  % (16208)Memory used [KB]: 6268
% 145.87/19.18  % (16208)Time elapsed: 0.016 s
% 145.87/19.18  % (16208)Instructions burned: 56 (million)
% 145.87/19.18  % (16208)------------------------------
% 145.87/19.18  % (16208)------------------------------
% 146.33/19.19  % (16209)ott+1666_1:1_hfaw=0:hfsq=on:hfsql=off:hfsqr=1,16:hud=15:slsq=on:slsqr=1,2:tnu=2:i=3971:si=on:rtra=on_0 on Vampire---4 for (2812ds/3971Mi)
% 150.45/19.75  % (16198)Instruction limit reached!
% 150.45/19.75  % (16198)------------------------------
% 150.45/19.75  % (16198)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 150.45/19.75  % (16198)Termination reason: Unknown
% 150.45/19.75  % (16198)Termination phase: Saturation
% 150.45/19.75  
% 150.45/19.75  % (16198)Memory used [KB]: 12792
% 150.45/19.75  % (16198)Time elapsed: 2.840 s
% 150.45/19.75  % (16198)Instructions burned: 7802 (million)
% 150.45/19.75  % (16198)------------------------------
% 150.45/19.75  % (16198)------------------------------
% 150.45/19.76  % (16210)dis+1010_1:1_anc=all_dependent:au=on:bs=on:sd=5:sp=occurrence:ss=axioms:st=2.0:i=14014:si=on:rtra=on_0 on Vampire---4 for (2806ds/14014Mi)
% 160.58/20.99  % (16209)Instruction limit reached!
% 160.58/20.99  % (16209)------------------------------
% 160.58/20.99  % (16209)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 160.58/20.99  % (16209)Termination reason: Unknown
% 160.58/20.99  % (16209)Termination phase: Saturation
% 160.58/20.99  
% 160.58/20.99  % (16209)Memory used [KB]: 14072
% 160.58/20.99  % (16209)Time elapsed: 1.826 s
% 160.58/20.99  % (16209)Instructions burned: 3972 (million)
% 160.58/20.99  % (16209)------------------------------
% 160.58/20.99  % (16209)------------------------------
% 160.75/21.01  % (16211)lrs+10_1:1_ins=1:sgt=8:ss=axioms:i=8517:si=on:rtra=on_0 on Vampire---4 for (2793ds/8517Mi)
% 162.02/21.29  % (16206)Instruction limit reached!
% 162.02/21.29  % (16206)------------------------------
% 162.02/21.29  % (16206)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 162.02/21.29  % (16206)Termination reason: Unknown
% 162.02/21.29  % (16206)Termination phase: Saturation
% 162.02/21.29  
% 162.02/21.29  % (16206)Memory used [KB]: 13944
% 162.02/21.29  % (16206)Time elapsed: 2.543 s
% 162.02/21.29  % (16206)Instructions burned: 5087 (million)
% 162.02/21.29  % (16206)------------------------------
% 162.02/21.29  % (16206)------------------------------
% 163.04/21.30  % (16212)dis+10_1:1_av=off:e2e=on:nm=4:s2a=on:i=10148:si=on:rtra=on_0 on Vampire---4 for (2790ds/10148Mi)
% 165.49/21.64  % (16188)Instruction limit reached!
% 165.49/21.64  % (16188)------------------------------
% 165.49/21.64  % (16188)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 165.49/21.64  % (16188)Termination reason: Unknown
% 165.49/21.64  % (16188)Termination phase: Saturation
% 165.49/21.64  
% 165.49/21.64  % (16188)Memory used [KB]: 21236
% 165.49/21.64  % (16188)Time elapsed: 6.107 s
% 165.49/21.64  % (16188)Instructions burned: 13469 (million)
% 165.49/21.64  % (16188)------------------------------
% 165.49/21.64  % (16188)------------------------------
% 165.49/21.67  % (16213)lrs+10_1:2_ntd=on:nwc=10.0:plsq=on:plsqc=1:plsqr=2,1:ss=axioms:i=9078:si=on:rtra=on_0 on Vampire---4 for (2787ds/9078Mi)
% 175.13/22.81  % (16199)Instruction limit reached!
% 175.13/22.81  % (16199)------------------------------
% 175.13/22.81  % (16199)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 175.13/22.81  % (16199)Termination reason: Unknown
% 175.13/22.81  % (16199)Termination phase: Saturation
% 175.13/22.81  
% 175.13/22.81  % (16199)Memory used [KB]: 15351
% 175.13/22.81  % (16199)Time elapsed: 5.678 s
% 175.13/22.81  % (16199)Instructions burned: 15196 (million)
% 175.13/22.81  % (16199)------------------------------
% 175.13/22.81  % (16199)------------------------------
% 175.26/22.83  % (16214)lrs+2_1:1_bet=on:bsr=on:cnfonf=lazy_pi_sigma_gen:er=filter:kws=inv_frequency:ntd=on:sd=3:ss=axioms:i=16164:si=on:rtra=on_0 on Vampire---4 for (2775ds/16164Mi)
% 178.12/23.28  % (16193)Instruction limit reached!
% 178.12/23.28  % (16193)------------------------------
% 178.12/23.28  % (16193)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 178.12/23.28  % (16193)Termination reason: Unknown
% 178.12/23.28  % (16193)Termination phase: Saturation
% 178.12/23.28  
% 178.12/23.28  % (16193)Memory used [KB]: 39530
% 178.12/23.28  % (16193)Time elapsed: 7.198 s
% 178.12/23.28  % (16193)Instructions burned: 15560 (million)
% 178.12/23.28  % (16193)------------------------------
% 178.12/23.28  % (16193)------------------------------
% 178.12/23.29  % (16215)lrs+32_1:1_au=on:bet=on:cbe=off:cs=on:ins=3:i=6102:si=on:rtra=on_0 on Vampire---4 for (2770ds/6102Mi)
% 182.08/23.72  % (16202)Instruction limit reached!
% 182.08/23.72  % (16202)------------------------------
% 182.08/23.72  % (16202)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 182.08/23.72  % (16202)Termination reason: Unknown
% 182.08/23.72  % (16202)Termination phase: Saturation
% 182.08/23.72  
% 182.08/23.72  % (16202)Memory used [KB]: 41193
% 182.08/23.72  % (16202)Time elapsed: 6.341 s
% 182.08/23.72  % (16202)Instructions burned: 13018 (million)
% 182.08/23.72  % (16202)------------------------------
% 182.08/23.72  % (16202)------------------------------
% 182.08/23.74  % (16216)lrs+1010_1:1_au=on:bd=off:e2e=on:fde=unused:nm=4:s2a=on:sos=all:sp=const_frequency:i=10308:si=on:rtra=on_0 on Vampire---4 for (2766ds/10308Mi)
% 190.59/24.85  % (16205)Instruction limit reached!
% 190.59/24.85  % (16205)------------------------------
% 190.59/24.85  % (16205)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 190.59/24.85  % (16205)Termination reason: Unknown
% 190.59/24.85  % (16205)Termination phase: Saturation
% 190.59/24.85  
% 190.59/24.85  % (16205)Memory used [KB]: 35052
% 190.59/24.85  % (16205)Time elapsed: 6.156 s
% 190.59/24.85  % (16205)Instructions burned: 13163 (million)
% 190.59/24.85  % (16205)------------------------------
% 190.59/24.85  % (16205)------------------------------
% 190.59/24.87  % (16217)dis+1010_1:1_au=on:avsq=on:bd=off:cbe=off:cnfonf=off:cs=on:hud=5:nm=0:plsq=on:plsqc=1:plsqr=7,1:ss=axioms:tgt=full:i=4041:si=on:rtra=on_0 on Vampire---4 for (2755ds/4041Mi)
% 191.73/24.94  % (16211)Instruction limit reached!
% 191.73/24.94  % (16211)------------------------------
% 191.73/24.94  % (16211)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 191.73/24.94  % (16211)Termination reason: Unknown
% 191.73/24.94  % (16211)Termination phase: Saturation
% 191.73/24.94  
% 191.73/24.94  % (16211)Memory used [KB]: 18933
% 191.73/24.94  % (16211)Time elapsed: 3.931 s
% 191.73/24.94  % (16211)Instructions burned: 8518 (million)
% 191.73/24.94  % (16211)------------------------------
% 191.73/24.94  % (16211)------------------------------
% 191.99/24.96  % (16218)dis+1002_1:1_acc=model:au=on:nwc=5.0:sd=5:ss=axioms:st=2.5:i=6901:si=on:rtra=on_0 on Vampire---4 for (2754ds/6901Mi)
% 192.92/25.11  % (16212)Instruction limit reached!
% 192.92/25.11  % (16212)------------------------------
% 192.92/25.11  % (16212)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 192.92/25.11  % (16212)Termination reason: Unknown
% 192.92/25.11  % (16212)Termination phase: Saturation
% 192.92/25.11  
% 192.92/25.11  % (16212)Memory used [KB]: 13816
% 192.92/25.11  % (16212)Time elapsed: 3.806 s
% 192.92/25.11  % (16212)Instructions burned: 10148 (million)
% 192.92/25.11  % (16212)------------------------------
% 192.92/25.11  % (16212)------------------------------
% 192.92/25.13  % (16219)lrs-1_1:1_au=on:cbe=off:ntd=on:i=5576:si=on:rtra=on_0 on Vampire---4 for (2752ds/5576Mi)
% 193.97/25.32  % (16215)Instruction limit reached!
% 193.97/25.32  % (16215)------------------------------
% 193.97/25.32  % (16215)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 193.97/25.32  % (16215)Termination reason: Unknown
% 193.97/25.32  % (16215)Termination phase: Saturation
% 193.97/25.32  
% 193.97/25.32  % (16215)Memory used [KB]: 12920
% 193.97/25.32  % (16215)Time elapsed: 2.035 s
% 193.97/25.32  % (16215)Instructions burned: 6102 (million)
% 193.97/25.32  % (16215)------------------------------
% 193.97/25.32  % (16215)------------------------------
% 194.47/25.34  % (16220)lrs+1002_1:8_bd=off:fd=off:hud=10:tnu=1:i=2014:si=on:rtra=on_0 on Vampire---4 for (2750ds/2014Mi)
% 197.65/25.70  % (16213)Instruction limit reached!
% 197.65/25.70  % (16213)------------------------------
% 197.65/25.70  % (16213)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 197.65/25.70  % (16213)Termination reason: Unknown
% 197.65/25.70  % (16213)Termination phase: Saturation
% 197.65/25.70  
% 197.65/25.70  % (16213)Memory used [KB]: 19701
% 197.65/25.70  % (16213)Time elapsed: 4.045 s
% 197.65/25.70  % (16213)Instructions burned: 9078 (million)
% 197.65/25.70  % (16213)------------------------------
% 197.65/25.70  % (16213)------------------------------
% 197.65/25.72  % (16221)ott+1010_1:1_cnfonf=lazy_gen:fe=off:plsq=on:plsqc=1:plsqr=3548551,65536:s2a=on:i=5115:si=on:rtra=on_0 on Vampire---4 for (2746ds/5115Mi)
% 198.54/25.82  % (16210)Instruction limit reached!
% 198.54/25.82  % (16210)------------------------------
% 198.54/25.82  % (16210)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 198.54/25.82  % (16210)Termination reason: Unknown
% 198.54/25.82  % (16210)Termination phase: Saturation
% 198.54/25.82  
% 198.54/25.82  % (16210)Memory used [KB]: 20724
% 198.54/25.82  % (16210)Time elapsed: 6.085 s
% 198.54/25.82  % (16210)Instructions burned: 14015 (million)
% 198.54/25.82  % (16210)------------------------------
% 198.54/25.82  % (16210)------------------------------
% 199.00/25.85  % (16222)lrs+2_1:1_au=on:cnfonf=lazy_pi_sigma_gen:sos=on:ss=axioms:i=13001:si=on:rtra=on_0 on Vampire---4 for (2745ds/13001Mi)
% 202.35/26.35  % (16220)Instruction limit reached!
% 202.35/26.35  % (16220)------------------------------
% 202.35/26.35  % (16220)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 202.35/26.35  % (16220)Termination reason: Unknown
% 202.35/26.35  % (16220)Termination phase: Saturation
% 202.35/26.35  
% 202.35/26.35  % (16220)Memory used [KB]: 15351
% 202.35/26.35  % (16220)Time elapsed: 1.006 s
% 202.35/26.35  % (16220)Instructions burned: 2015 (million)
% 202.35/26.35  % (16220)------------------------------
% 202.35/26.35  % (16220)------------------------------
% 203.11/26.36  % (16223)dis+10_1:2_aac=none:acc=on:atotf=0.1:au=on:fde=none:ins=1:ixr=off:nwc=5.0:i=11105:si=on:rtra=on_0 on Vampire---4 for (2740ds/11105Mi)
% 204.84/26.64  % (16217)Instruction limit reached!
% 204.84/26.64  % (16217)------------------------------
% 204.84/26.64  % (16217)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 204.84/26.64  % (16217)Termination reason: Unknown
% 204.84/26.64  % (16217)Termination phase: Saturation
% 204.84/26.64  
% 204.84/26.64  % (16217)Memory used [KB]: 11897
% 204.84/26.64  % (16217)Time elapsed: 1.778 s
% 204.84/26.64  % (16217)Instructions burned: 4041 (million)
% 204.84/26.64  % (16217)------------------------------
% 204.84/26.64  % (16217)------------------------------
% 204.84/26.66  % (16224)dis+10_1:1_anc=none:cnfonf=lazy_gen:fd=preordered:fe=off:hud=10:ins=3:ixr=off:nwc=5.0:plsq=on:plsqc=1:plsqr=32,1:sp=const_frequency:uhcvi=on:i=13832:si=on:rtra=on_0 on Vampire---4 for (2737ds/13832Mi)
% 212.08/27.50  % (16219)Instruction limit reached!
% 212.08/27.50  % (16219)------------------------------
% 212.08/27.50  % (16219)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 212.08/27.50  % (16219)Termination reason: Unknown
% 212.08/27.50  % (16219)Termination phase: Saturation
% 212.08/27.50  
% 212.08/27.50  % (16219)Memory used [KB]: 14711
% 212.08/27.50  % (16219)Time elapsed: 2.400 s
% 212.08/27.50  % (16219)Instructions burned: 5578 (million)
% 212.08/27.50  % (16219)------------------------------
% 212.08/27.50  % (16219)------------------------------
% 212.08/27.53  % (16225)lrs+1010_1:1_au=on:s2a=on:sd=1:sgt=50:ss=axioms:i=32887:si=on:rtra=on_0 on Vampire---4 for (2728ds/32887Mi)
% 212.08/27.56  % (16225)Refutation not found, incomplete strategy
% 212.08/27.56  % (16225)------------------------------
% 212.08/27.56  % (16225)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 212.08/27.56  % (16225)Termination reason: Refutation not found, incomplete strategy
% 212.08/27.56  
% 212.08/27.56  
% 212.08/27.56  % (16225)Memory used [KB]: 6268
% 212.08/27.56  % (16225)Time elapsed: 0.067 s
% 212.08/27.56  % (16225)Instructions burned: 61 (million)
% 212.08/27.56  % (16225)------------------------------
% 212.08/27.56  % (16225)------------------------------
% 212.08/27.58  % (16226)dis+1010_2:1_avsq=on:fde=unused:prag=on:i=3362:si=on:rtra=on_0 on Vampire---4 for (2728ds/3362Mi)
% 216.30/28.05  % (16221)Instruction limit reached!
% 216.30/28.05  % (16221)------------------------------
% 216.30/28.05  % (16221)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 216.30/28.05  % (16221)Termination reason: Unknown
% 216.30/28.05  % (16221)Termination phase: Saturation
% 216.30/28.05  
% 216.30/28.05  % (16221)Memory used [KB]: 17910
% 216.30/28.05  % (16221)Time elapsed: 2.338 s
% 216.30/28.05  % (16221)Instructions burned: 5115 (million)
% 216.30/28.05  % (16221)------------------------------
% 216.30/28.05  % (16221)------------------------------
% 216.30/28.08  % (16227)ott+1002_1:1_au=on:cnfonf=lazy_simp:nwc=5.0:sgt=5:ss=axioms:st=1.5:i=24965:si=on:rtra=on_0 on Vampire---4 for (2723ds/24965Mi)
% 216.30/28.09  % (16216)Instruction limit reached!
% 216.30/28.09  % (16216)------------------------------
% 216.30/28.09  % (16216)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 216.30/28.09  % (16216)Termination reason: Unknown
% 216.30/28.09  % (16216)Termination phase: Saturation
% 216.30/28.09  
% 216.30/28.09  % (16216)Memory used [KB]: 19061
% 216.30/28.09  % (16216)Time elapsed: 4.340 s
% 216.30/28.09  % (16216)Instructions burned: 10309 (million)
% 216.30/28.09  % (16216)------------------------------
% 216.30/28.09  % (16216)------------------------------
% 216.80/28.11  % (16228)lrs+1010_2:1_amm=off:avsq=on:c=on:cbe=off:e2e=on:fsr=off:ins=3:s2a=on:s2at=-1.0:i=15705:si=on:rtra=on_0 on Vampire---4 for (2723ds/15705Mi)
% 216.80/28.12  % (16218)Instruction limit reached!
% 216.80/28.12  % (16218)------------------------------
% 216.80/28.12  % (16218)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 216.80/28.12  % (16218)Termination reason: Unknown
% 216.80/28.12  % (16218)Termination phase: Saturation
% 216.80/28.12  
% 216.80/28.12  % (16218)Memory used [KB]: 13816
% 216.80/28.12  % (16218)Time elapsed: 3.169 s
% 216.80/28.12  % (16218)Instructions burned: 6901 (million)
% 216.80/28.12  % (16218)------------------------------
% 216.80/28.12  % (16218)------------------------------
% 216.80/28.15  % (16229)lrs+1010_1:6_au=on:cnfonf=conj_eager:nwc=10.0:pe=on:prag=on:s2a=on:ss=axioms:st=1.5:i=1536:si=on:rtra=on_0 on Vampire---4 for (2722ds/1536Mi)
% 221.33/28.71  % (16229)Instruction limit reached!
% 221.33/28.71  % (16229)------------------------------
% 221.33/28.71  % (16229)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 221.33/28.71  % (16229)Termination reason: Unknown
% 221.33/28.71  % (16229)Termination phase: Saturation
% 221.33/28.71  
% 221.33/28.71  % (16229)Memory used [KB]: 8699
% 221.33/28.71  % (16229)Time elapsed: 0.587 s
% 221.33/28.71  % (16229)Instructions burned: 1536 (million)
% 221.33/28.71  % (16229)------------------------------
% 221.33/28.71  % (16229)------------------------------
% 221.33/28.72  % (16230)dis+10_1:1_fde=none:kws=precedence:piset=not:prag=on:slsq=on:slsqc=1:sp=unary_frequency:i=23684:si=on:rtra=on_0 on Vampire---4 for (2716ds/23684Mi)
% 224.22/29.04  % (16226)Instruction limit reached!
% 224.22/29.04  % (16226)------------------------------
% 224.22/29.04  % (16226)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 224.22/29.04  % (16226)Termination reason: Unknown
% 224.22/29.04  % (16226)Termination phase: Saturation
% 224.22/29.04  
% 224.22/29.04  % (16226)Memory used [KB]: 13176
% 224.22/29.04  % (16226)Time elapsed: 1.467 s
% 224.22/29.04  % (16226)Instructions burned: 3362 (million)
% 224.22/29.04  % (16226)------------------------------
% 224.22/29.04  % (16226)------------------------------
% 224.22/29.07  % (16231)ott+1004_1:24_anc=none:cbe=off:cnfonf=lazy_not_gen:fe=off:piset=not:prag=on:rp=on:i=4925:si=on:rtra=on_0 on Vampire---4 for (2713ds/4925Mi)
% 233.37/30.22  % (16214)Instruction limit reached!
% 233.37/30.22  % (16214)------------------------------
% 233.37/30.22  % (16214)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 233.37/30.22  % (16214)Termination reason: Unknown
% 233.37/30.22  % (16214)Termination phase: Saturation
% 233.37/30.22  
% 233.37/30.22  % (16214)Memory used [KB]: 28656
% 233.37/30.22  % (16214)Time elapsed: 7.395 s
% 233.37/30.22  % (16214)Instructions burned: 16164 (million)
% 233.37/30.22  % (16214)------------------------------
% 233.37/30.22  % (16214)------------------------------
% 233.37/30.24  % (16232)lrs-1010_1:50_au=on:awrs=converge:awrsf=430:bet=on:cbe=off:cha=on:nm=20:sac=on:i=14666:si=on:rtra=on_0 on Vampire---4 for (2701ds/14666Mi)
% 239.60/30.98  % (16224)First to succeed.
% 239.60/30.99  % (16222)Instruction limit reached!
% 239.60/30.99  % (16222)------------------------------
% 239.60/30.99  % (16222)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 239.60/30.99  % (16222)Termination reason: Unknown
% 239.60/30.99  % (16222)Termination phase: Saturation
% 239.60/30.99  
% 239.60/30.99  % (16222)Memory used [KB]: 20340
% 239.60/30.99  % (16222)Time elapsed: 5.173 s
% 239.60/30.99  % (16222)Instructions burned: 13002 (million)
% 239.60/30.99  % (16222)------------------------------
% 239.60/30.99  % (16222)------------------------------
% 239.60/31.01  % (16233)lrs+1002_1:4_au=on:cbe=off:cnfonf=lazy_pi_sigma_gen:hud=15:inj=on:nwc=4.0:s2a=on:sac=on:sp=reverse_arity:i=3322:si=on:rtra=on_0 on Vampire---4 for (2693ds/3322Mi)
% 239.60/31.06  % (16224)Refutation found. Thanks to Tanya!
% 239.60/31.06  % SZS status Theorem for Vampire---4
% 239.60/31.06  % SZS output start Proof for Vampire---4
% See solution above
% 239.60/31.06  % (16224)------------------------------
% 239.60/31.06  % (16224)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 239.60/31.06  % (16224)Termination reason: Refutation
% 239.60/31.06  
% 239.60/31.06  % (16224)Memory used [KB]: 51299
% 239.60/31.06  % (16224)Time elapsed: 4.413 s
% 239.60/31.06  % (16224)Instructions burned: 10215 (million)
% 239.60/31.06  % (16224)------------------------------
% 239.60/31.06  % (16224)------------------------------
% 239.60/31.06  % (15921)Success in time 30.667 s
% 239.60/31.06  % Vampire---4.8 exiting
%------------------------------------------------------------------------------